Zend Framework-Objekte Auswählen Und UNION()
Ich bin mir ziemlich sicher, dass dies nicht möglich ist, in der Zend Framework (den ich gesucht habe auf der Website, die Dokumentation und issue-tracker), aber ich möchte nur sicherstellen, so Frage ich hier.
$select = $this->select();
$select->union($select1, $select2);
Dass nicht natürlich. Um zu erklären, was ich brauche. Ich müssen zu benutzen, UNION() zum Zusammenführen von 2 Tabellen in einer SELECT-Abfrage, ich weiß, ich könnte einfach tun:
$select = "$select1 UNION $select2";
Das problem ist, dass würde einen string zurückzugeben, und ich brauche, um ein Objekt auswählen, damit ich es verwenden können, mit Zend_Paginator.
Habe ich bereits das Problem gelöst, indem änderungen an der Datenbank-Architektur, aber ich bin einfach nur neugierig, ob es eine Abhilfe für dieses.
InformationsquelleAutor Richard Knop | 2009-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zend_Db_Select hat ein union-Methode also ich hätte gedacht, es ist möglich, wenn Sie können bauen Sie Ihre Abfrage mit einem select-Objekt. Ich habe nicht verwendet Zend_Db_Select (oder die Tabelle Unterklasse) mit union, aber ich könnte mir vorstellen, dass Sie etwas tun können, wie
Habe ein code-snippet, das nicht funktioniert?
InformationsquelleAutor David Snabel-Caunt
Hier ist, was ich getan habe, um eine union:
Erinnern
Db_Select
's__toString
wird, drucken Sie die SQL generiert, wählen Sie Hilfe beim Debuggen.InformationsquelleAutor Justin
ein vollständiges Beispiel:
und die generierte Abfrage:
WÄHLEN Sie
reservations
.* VONreservations
WHERE (id='5658') UNION SELECTres_finished
.* VONres_finished
WHERE (id='5658') UNION SELECTres_cancel
.* VONres_cancel
WHERE (id='5658') UNION SELECTres_trash
.* VONres_trash
WHERE (id='5658')InformationsquelleAutor Luiggi ZAMOL
Diesem praktischen Beispiel zeigt eine Funktion, die einen rowset zurückgibt, entweder die neuesten oder, wenn eine verfügbar Lieblings-blog-Einträge eines bestimmten Jahres (artwork blog):
InformationsquelleAutor markus
InformationsquelleAutor besin
Dies ist, wie es für mich funktioniert:
Nachdem Sie die erforderlichen Daten in beide Abfragen die UNION-syntax geht so:
InformationsquelleAutor Petar Djordjevic