Zend DB fetchAll(): array
Ich bin verwirrt, warum Zend_DB nicht akzeptiert ein array von WHERE
Klauseln - oder bin ich falsch? Ich habe die folgenden arbeiten rund um:
$all = new ORM_Model_DbTable_Asset();
$wheres = array('id > 0', 'enabled' => 1);
$all = $all->fetchAll(implode(' AND ', $wheres))->toArray();
für das, was ich hoffte, Sie würden sein:
$all = new ORM_Model_DbTable_Asset();
$wheres = array('id > 0', 'enabled' => 1);
$all = $all->fetchAll($wheres)->toArray();
Etwas enttäuschend, bin ich etwas fehlt?
Ich möchte vermeiden, überschreiben Ihrer
$all
DB-Tabelle-Objekt mit den Ergebnissen arrayInformationsquelleAutor azz0r | 2012-02-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom
Zend_Db_Table_Abstract
So sind Sie falsch,
fetchAll()
akzeptiert ein array von where-Klauseln.Array sollte so Aussehen (basierend auf der definition in
Zend_Db_Select
)Das ist, was passiert intern, wenn die
$where
(erste) argumentfetchAll()
ist ein arrayInformationsquelleAutor Phil
Zuerst schauen wir uns auf Ihre original-code:
Erinnern, dass
=>
ist ein Zuweisungsoperator. Im array oben Sie beginnen mit der Zeichenfolge automatisch zugewiesen key0
. Das nächste element ist die Anzahl1
dem Schlüssel zugewiesene'enabled'
. Die vorgeschlagene Lösung in Antwort 1 wird die Nummer1
key'enabled = ?'
.Versuchen Sie dies:
InformationsquelleAutor c_man_tn