Kohana Model-Bereich

Ja klar kann man immer amatuer haften code dazu schreiben das ist aber nicht mein Ziel. Ich weiß auch wie ich Db abfragen durchführen kann durch die Klasse. Klar ist mir nicht wie die Db Abfrage beim Tutorial funktioniert dort finde ich keine anhalts Punkte.

Beim Zend gibt man zumindesten den Primary key an und den Tabellen namen. Aber bei Kohana ist mir ein Rätsel woher er den Tabellen namen hat. Muß der Tabellen name gleich lauten wie der factory name zb. role oder hat das damit überhaupt nix zu tun und kann der Tabellename anderes lauten als in der factory angeben wird.

Wir errinnerung uns zurück an
PHP:
$roles = ORM::factory("role");

Was die Db abfragen ins rollen bringt. Muß dann in dem fall die Db Tabelle role lauten? Ich werd nacher mal austesten und die Namen ändern.

Mfg Splasch
 
PHP:
$roles = ORM::factory("role");
Was die Db abfragen ins rollen bringt. Muß dann in dem fall die Db Tabelle role lauten? Ich werd nacher mal austesten und die Namen ändern.

Richtig. In der ORM-Klasse gibts die Methode _initialize():

PHP:
    /**
     * Prepares the model database connection, determines the table name,
     * and loads column information.
     *
     * @return  void
     */
    protected function _initialize()
    {
        if ( ! is_object($this->_db))
        {
            // Get database instance
            $this->_db = Database::instance($this->_db);
        }

        if (empty($this->_table_name))
        {
            // Table name is the same as the object name
            $this->_table_name = $this->_object_name;

            if ($this->_table_names_plural === TRUE)
            {
                // Make the table name plural
                $this->_table_name = inflector::plural($this->_table_name);
            }
        }

In der zweiten if-Abfrage wird der Tabellenname für die ORM-Klasse erzeugt.
 
Hallo Leute,

wollte nicht extra ein neues Thema eröffnen, denn meine Frage bezieht sich auch auf Kohana oder vielleicht auch generell auf PHP. Wer könnte mir bitte erklären, was es Syntax-mäßig damit auf sich hat:

PHP:
$variable->vari->able = ...

Bitte nicht auf den Inhalt schauen. Es geht mir eigentlicht nur um die beiden Pfeile. Wie kann ich das verstehen? Und ist das nur bei Frameworks so, oder auch generell bei PHP? Wenn das möglich ist, sind dann auch mehrere Pfeile möglich? :suspekt:

Mit freundlichen Grüßen

Typs
 
Zuletzt bearbeitet:
$variable ist ein Objekt. Dieses Objekt hat ein Property mit dem Namen vari. Dieses Property ist selber wieder ein Objekt und hat ein Property mit dem Namen able. Und dem wird ein Wert zugeordnet
PHP:
<?php
$variable = new stdClass();
$variable->vari = new stdClass();
$variable->vari->able = 1;
var_dump($variable);
?>
 
Zurück