8
votes

Comment faire une page doctrine2 résultats

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 :)


0 commentaires

5 Réponses :


6
votes

J'ai écrit cette extension pour doctrine2 qui contient un pager puissant:

http://github.com/beberlei/doctrineExtensions


2 commentaires

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 ???



0
votes

Tout comme notez cependant, requête # SetMaxResults / requête # SetFirsTstroSult couvre la plupart des besoins de base pour la pagination.


0 commentaires

-1
votes

Il y a une bonne solution 3ème une solution: https://github.com/whiteoctober/pagerfanta < / p>

Je l'ai trouvé très utile


0 commentaires

1
votes

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

Contrairement à Pagerfanta, KnppaginatorBundle nécessite actuellement le package Zend Paginator comme une dépendance.


0 commentaires

2
votes

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";
}


0 commentaires