Zend Framework Sélectionner des Objets Et de l'UNION()
Je suis sûr que ce n'est pas possible dans le Zend Framework (j'ai cherché sur le Web, la documentation et l'outil de suivi), mais je veux juste m'assurer que si je pose la question ici.
$select = $this->select();
$select->union($select1, $select2);
Qui ne fonctionne pas bien sûr. Pour expliquer ce dont j'ai besoin. J'ai besoin d'utiliser de l'UNION() pour fusionner les 2 tables dans une requête SELECT, je sais que je pourrais juste faire:
$select = "$select1 UNION $select2";
Le problème est qui retourne une chaîne de caractères et j'ai besoin d'obtenir un objet select donc je peux l'utiliser avec Zend_Paginator.
J'ai déjà résolu le problème en modifiant ma base de données de l'architecture, mais je suis juste curieux de voir si il ya une solution pour cela.
OriginalL'auteur Richard Knop | 2009-08-23
Vous devez vous connecter pour publier un commentaire.
Zend_Db_Select a une méthode de l'union donc, je n'aurais pensé qu'il est possible, si vous pouvez construire votre requête à l'aide d'un objet à sélectionner. Je n'ai pas utilisé Zend_Db_Select (ou de la table sous-classe) de l'union, mais j'imagine que vous pouvez faire quelque chose comme
A un extrait de code qui ne fonctionne pas?
OriginalL'auteur David Snabel-Caunt
Voici ce que j'ai fait pour faire une union:
Rappelez-vous
Db_Select
's__toString
permet d'imprimer le SQL généré par que choisir, pour vous aider à déboguer.OriginalL'auteur Justin
un exemple complet:
et la requête générée:
SÉLECTIONNEZ
reservations
.* DEreservations
OÙ (id='5658') UNION SELECTres_finished
.* DEres_finished
OÙ (id='5658') UNION SELECTres_cancel
.* DEres_cancel
OÙ (id='5658') UNION SELECTres_trash
.* DEres_trash
OÙ (id='5658')OriginalL'auteur Luiggi ZAMOL
Cette pratique montre l'exemple d'une fonction qui renvoie un ensemble de lignes, soit plus tard, ou si une disposition préférée des entrées de blog d'une année donnée (illustration blog):
OriginalL'auteur markus
OriginalL'auteur besin
C'est la façon dont il fonctionne pour moi:
Après avoir obtenu les données nécessaires dans les deux requêtes de l'UNION de la syntaxe qui va comme ceci:
OriginalL'auteur Petar Djordjevic