Utilisation de la pagination dans Doctrine2 / Symfony2 sans extension de Doctrine paginator
Je suis en utilisant Doctrine2 pour un projet que l'on pourrait obtenir beaucoup de trafic et je suis welling pour faire quelques pagination dans une page de recherche et que seule extraction 5 résultats par page
Donc, il y a un bon moyen pour le faire sans avoir recours à la doctrine de l'extension et de maintien de l'ORM de la couche d'abstraction? Je veux dire que je ne veux pas écrire toute forme de requêtes dql et garder mon code dans ce format:
$repo= $this->getDoctrine()
->getEntityManager()
->getRepository('AcmeOfficeBundle:Project');
$list=$repo->findBy(array('PROJ_private' => "0"));
source d'informationauteur Wissem
Vous devez vous connecter pour publier un commentaire.
Doctrine 2.2 livré avec un paginator. Cependant, il ne vous obliger à écrire des requêtes DQL.
Si vous insistez pour ne pas écrire tout DQL, vous pouvez commencer par regarder la Doctrine objet entityrepository classe; en particulier, le findBy() la méthode. Il a des paramètres optionnels pour limit et offset, de sorte que vous pouvez essayer quelque chose comme ceci (à l'aide de l'exemple de la situation de référence):
Dans la Doctrine ORM 2.3 vous pouvez également utiliser
Criteria
avecmatching
sur l'entité de référentiel. Qui maintenant (2.5) fonctionne avec nToMany relations.Cela aide quand votre requête nécessite une autre comparaison autre que est égal ou lorsque la pagination d'un OneToMany collection d'une autre entité.
http://doctrine-orm.readthedocs.org/en/latest/reference/working-with-associations.html#filtering-collections
Une bonne option qui évite d'écrire DQL est de fonctionner sur des collections à l'aide Pagerfanta
https://github.com/whiteoctober/Pagerfanta