Bonjour à tous!
Pour un projet de listing de livres, je suis passé de Doctrine à Zend_Db pour la gestion de la base de données. J'ai probablement pris pleins d'habitudes bonnes et moins bonnes avec Doctrine, mais là, je sèche méchamment sur un point.
J'ai une requête comme ceci (en gros):
Ceci fonctionne à merveille. Tout est très bien, c'est très bien. Maintenant, je souhaite retrouver le total (là je n'ai que 10 éléments).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $table = new Livres(); $select = $table->select()->joinLeft(...)->order(...) ->where('un filtre utilisateur') ->where('un autre filtre utilisateur') ->where('etc...') ->limit(10, 20); $rowset = $table->fetchAll($select);
J'ai donc tenté un truc tout bête:
Et c'est là que rien ne va plus. ça me retourne 4x tous les résultats. Je n'ai aucune idée pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // juste en dessous: $select ->reset(Zend_Db_Select::LIMIT_COUNT) ->reset(Zend_Db_Select::LIMIT_OFFSET); $rows = $table->fetchAll($select); echo $rows->count();
Certes, je pourrais réécrire toute la requête en changeant le select et en ne mettant pas la limit, mais je me demandais si on pouvait trafiquer un select pour faire un count "intelligent".
Merci d'avance pour vos éclaircissements ou vos conseils!
rekam
Partager