Zend Framework: Wie man eine DB wählen Sie mit mehreren params?
Ich Frage mich nur, was die syntax ist zu tun in einer db wählen Sie im Zend-Framework, wo zwei Werte wahr sind. Beispiel: ich möchte, um herauszufinden, ob ein Benutzer bereits Mitglied einer Gruppe:
$userId = 1;
$groupId = 2;
$db = Zend_Db_Table::getDefaultAdapter();
$select = new Zend_Db_Select($db);
$select->from('group_members')
->where('user_id = ?', $userId); //Right here. What do I do about group_id?
$result = $select->query();
$resultSet = $result->fetchAll();
InformationsquelleAutor Andrew | 2009-12-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie können mehrere where-Klauseln werden ANDed together standardmäßig:
Seltsam, ich habe beide Techniken in der Vergangenheit gegen MySQL mit PDO-adapter. Ich denke, das werde ich benötigen, um eine Tabelle zu testen. Es kann sein, dass Ihre Datenbank-Typ oder-adapter nicht unterstützt, die syntax, die ich vorgeschlagen.
Welche Datenbank - /adapter-Kombination verwenden Sie?
Ich war in der Lage, das zweite funktioniert. Es ist nichts falsch mit Ihrem code in der zweiten. Ich erkannte mein problem war, dass ich Behandlung das Ergebnis falsch.
Ich habe jetzt getestet, die erste version und fand es resultiert in der folgenden SQL: SELECT
group_members
.* VONgroup_members
WHERE (user_id = 1, 1 UND group_id = 1, 1) BTW: Man kannprint $select->__toString();
Ausgabe Beispiel SQL-Anweisung enthält. Trotzdem, es scheint, dass die übergabe-und array-Parameter funktioniert nicht mit Zend_Db_Select (ich war wohl eine Verwechslung mit der Verwendung von PDO direkt), also habe ich entfernt, die unwirksame Teil der Antwort.InformationsquelleAutor Adam Franco
Nur für den Fall jemand möchte eine Bedingung ODER auf eine Option mit mehreren params
Weitere anzeigen des Zend Wählen Sie die manuelle Docs: zend.db.wählen Sie
InformationsquelleAutor Mohit Padalia