Je ne trouve pas de doctrine_pager dans doctrine2 et a vraiment besoin d'un moyen de faire des résultats de la page. Y a-t-il un moyen d'utiliser un pager alternatif (poire, zend)? Veuillez poster un certain code d'exemple également si la solution est disponible. Google ne m'a pas aidé, alors j'espère que les gens vont :) p>
5 Réponses :
J'ai écrit cette extension pour doctrine2 qui contient un pager puissant: P>
Le code a l'air vraiment agréable, j'ai hâte de l'essayer, merci
@timdev, pourriez-vous donner un exemple de code, comment nous utilisons zend_paginator et doctrineeextensions \ paginate \ paginationAdapter ou doctrineExtensions \ paginate \ paginate ???
Tout comme notez cependant, requête # SetMaxResults / requête # SetFirsTstroSult couvre la plupart des besoins de base pour la pagination. P>
Il y a une bonne solution 3ème une solution: https://github.com/whiteoctober/pagerfanta < / p>
Je l'ai trouvé très utile p>
Pagerfanta, comme mentionné par Maksim, est recommandé. Toutefois, il existe également un autre paquet de pagination qui devrait au moins être mentionné: http://symfony2bundles.org/knplabs/knppaginatorbunding p>
Contrairement à Pagerfanta, KnppaginatorBundle nécessite actuellement le package Zend Paginator comme une dépendance. P>
dans la doctrine 2.2, il y a une classe d'assistance de paginateur: http: / /docs.doctrine-project.org/fr/latest/Tutorials/pagination.html
Très facile à utiliser :) P>
use Doctrine\ORM\Tools\Pagination\Paginator; $dql = "SELECT p, c FROM BlogPost p JOIN p.comments c"; //build the query for the page you want to display $query = $entityManager->createQuery($dql) ->setFirstResult(0) ->setMaxResults(10); $paginator = new Paginator($query, $fetchJoinCollection = true); $c = count($paginator); //automatically makes another query and returns the total number of elements. //iterating over the paginator iterates over the current page foreach ($paginator as $post) { echo $post->getHeadline() . "\n"; }