Bonjour,
Je cherche désespérément un pager multi-table sous symfony.
Je m'explique je voudrais récupérer 2 sortes d'objets dans un même pager. Avez vous des pistes à explorer pour réaliser cela ?
Bonne journée.
Version imprimable
Bonjour,
Je cherche désespérément un pager multi-table sous symfony.
Je m'explique je voudrais récupérer 2 sortes d'objets dans un même pager. Avez vous des pistes à explorer pour réaliser cela ?
Bonne journée.
Si tu es dans un module généré par l'admin-generator, tu peux affecter à ton pager la requête de recherche de tes objets :
avec getQueryDeRecherche() qui doit te renvoyer une Doctrine_Query qui effectue la recherche sur tes deux tables.Code:
1
2
3
4
5 $q = Doctrine_Core::getTable('monObjet')->getQueryDeRecherche(); $this->pager = $this->getPager(); $this->pager->setQuery($q); $this->pager->init();
Le init() permet de réinitialiser ton pager et en particulier l'initialisation de son count(), ce qui te permet d'avoir l'affichage corrects du nombre de résultats.
Si tu n'as pas d'objet sfDoctrinePager sous la main, j'aurais plus de mal à t'aider :D
Merci de ta réponse ;).
Le soucis c'est que j'ai besoin de sélectionner mes objets dans 2 tables différentes et paginer l'ensemble du résultat obtenu.
Au final il faudrait que je fasse un "UNION" avec mes 2 requetes mais comment je peux savoir que telle ligne correspond à tel objet ?
PS : je suis sous Propel :).
Je n'ai pas eu l'occasion d'utiliser Propel, mais si tu réussis à faire ton union, tu obtiens au final une Collection (ou pas, je ne sais pas du tout si Propel possède un mode de fonctionnement similaire à Doctrine).
Si Collection il y a, lorsque tu parcours chaque élément, il suffirait alors de tester si c'est une instanceof de Objet_A ou instanceof Objet_B ?
J'ai un peu de mal à comprendre la structure et les relations entre tes deux tables, pourrait-tu être plus précis ?