Pregunta

No puedo encontrar Doctrine_Pager en Doctrine2 y realmente necesita una forma de página de mis resultados de la consulta. ¿Hay una manera de utilizar algunos localizador alternativo (pera, Zend)? Por favor, publique un código de ejemplo, así si la solución está disponible. Google aún no ha me ayudó, así que la gente la esperanza será:)

¿Fue útil?

Solución

Me escribió esta extensión para Doctrine2 que contiene un potente localizador:

http://github.com/beberlei/DoctrineExtensions

Otros consejos

En Doctrina 2,2, hay una clase de ayuda Paginator: http: / /docs.doctrine-project.org/en/latest/tutorials/pagination.html

Muy fácil de usar:)

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

PagerFanta, como se ha mencionado por Maksim, viene recomendado. Sin embargo, también hay otro paquete de paginación que al menos debe ser mencionado: http://symfony2bundles.org/knplabs/KnpPaginatorBundle

A diferencia de PagerFanta, KnpPaginatorBundle requiere actualmente el paquete paginador Zend como dependencia.

Así como una nota sin embargo, la consulta # setMaxResults / Consulta # setFirstResult cubre la mayor parte de las necesidades básicas para paginación.

Hay una buena tercera una solución: https://github.com/whiteoctober/Pagerfanta

Me pareció muy útil

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top