Ich habe in der Dokumentation der Doktrin über Flüssigkeitszufuhr gelesen, kann aber immer noch nicht verstehen, was es ist.
Könnte jemand bitte erklären?
Ich habe in der Dokumentation der Doktrin über Flüssigkeitszufuhr gelesen, kann aber immer noch nicht verstehen, was es ist.
Könnte jemand bitte erklären?
Antworten:
Die Flüssigkeitszufuhr ist eine Methode zur Rückgabe von Abfrageergebnissen. Beispielsweise:
HYDRATE_ARRAY
- Dies gibt Ihnen ein Array von Datensätzen zurück, die durch ein anderes Array dargestellt werden:
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_ARRAY);
$resultSet = $q->execute(); // $resultSet is an array
foreach ($resultSet as $post) {
// $post is an array
echo $post['title'];
}
HYDRATE_RECORD
- Dadurch erhalten Sie eine Sammlung ( Doctrine_Collection ) von Objekten:
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_RECORD); // Unnecessary, HYDATE_RECORD is default method
$resultSet = $q->execute(); // $resultSet is an Doctrine_Collection object
foreach ($resultSet as $post) {
// $post is an Post object
echo $post->getTitle();
echo $post['title']; // Each Doctrine's Model object implements ArrayAccess interface so this is possible
echo $post->myCustomMethod();
}
HYDRATE_SINGULAR_SCALAR
- Gibt den Wert der ersten Spalte des Abfrageergebnisses zurück:
$q = Doctrine_Query::create()
->select('p.created_at')
->from('Post p')
->where('p.id = ?', 321)
->setHydrationMode(Doctrine::HYDRATE_SINGULAR_SCALAR);
$createdAt = $q->execute(); // $createdAt has value of first column from first record from result set (eg.: 2008-04-06 21:22:35)
Es gibt noch einige weitere Methoden, die Sie in der Dokumentation nachlesen können.
orderBy()
behandeln Sie dies). Es geht darum, was Ihre Abfrage ergibt , ob es sich um einen einzelnen Skalarwert ( HYDRATE_SINGULAR_SCALAR
), ein Array oder Arrays handelt, in denen verschachtelte Arrays jeden Datenbankdatensatz ( HYDRATE_ARRAY
) oder eine Sammlung von Objekten ( HYDRATE_RECORD
) darstellen. Hat Var_dump auf Abfrageergebnis für jeden Trink Modus - „wie es funktioniert“ , dass der beste Weg ist , um zu sehen
HYDRATE_SINGULAR_SCALAR
ein undefinierter konstanter Fehler zurückgegeben. HYDRATE_SINGLE_SCALAR
ist richtig.
Doctrine::HYDRATE_RECORD
ist jetzt bekannt alsDoctrine::HYDRATE_OBJECT
$q->fetchOne(array(), Doctrine_Core::HYDRATE_ARRAY);
Es wird nur ein einfaches Array anstelle eines Doktrinensammlungsobjekts zurückgegeben.