Non riesco a trovare Doctrine_Pager in Doctrine2 e ho davvero bisogno di un modo per visualizzare i risultati della query. C'è un modo per utilizzare un altro cercapersone (Pera, Zend)? Si prega di inviare qualche esempio di codice pure se la soluzione è disponibile. Google non ha ancora mi ha aiutato, così la gente la speranza sarà :)Come visualizzare i risultati di Doctrine2
risposta
Ho scritto questa estensione per Doctrine2 che contiene un potente cercapersone:
Proprio come una nota, però, Query # setMaxResults/query coperture # setFirstResult la maggior parte delle esigenze di base per il paging.
C'è un buon 3 ° una soluzione: https://github.com/whiteoctober/Pagerfanta
ho trovato molto utile
PagerFanta, come detto da Maksim, viene raccomandato. Tuttavia, vi è anche un altro pacchetto di paginazione che dovrebbe almeno essere menzionato: http://symfony2bundles.org/knplabs/KnpPaginatorBundle
A differenza di PagerFanta, KnpPaginatorBundle richiede attualmente il pacchetto zend paginator come dipendenza.
In Dottrina 2.2, c'è una classe helper Paginator: http://docs.doctrine-project.org/en/latest/tutorials/pagination.html
Molto facile da usare :)
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";
}
Il codice sembra davvero bello, non vedo l'ora di provarlo, grazie – pentarim
@timdev, potresti dare un codice di esempio, come utilizziamo Zend_Paginator e DoctrineExtensions \ Paginate \ PaginationAdapter o DoctrineExtensions \ Paginate \ Paginate ??? – ulduz114