Frage

Ich kann nicht Doctrine_Pager in Doctrine2 finden und wirklich brauche eine Art und Weise zu Seite meiner Abfrageergebnisse. Gibt es eine Möglichkeit, etwas alternativen Pager (Birne, Zend) zu benutzen? Bitte senden Sie einige Beispiel-Code als auch, wenn Lösung zur Verfügung steht. Google nur knapp sein Ziel hat mir geholfen, so die Hoffnung Leute werden:)

War es hilfreich?

Lösung

Ich schrieb diese Erweiterung für Doctrine2, die einen leistungsfähigen Pager enthält:

http://github.com/beberlei/DoctrineExtensions

Andere Tipps

In Lehre 2.2 gibt es eine Paginator Hilfsklasse: http: / /docs.doctrine-project.org/en/latest/tutorials/pagination.html

Sehr einfach zu bedienen:)

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, wie von Maksim erwähnt, kommt zu empfehlen. Allerdings gibt es auch eine andere Paginierung Bündel, das zumindest erwähnt werden sollte: http://symfony2bundles.org/knplabs/KnpPaginatorBundle

Im Gegensatz zu PagerFanta, KnpPaginatorBundle zur Zeit erfordert das zend paginator Paket als Abhängigkeit.

Nur als Anmerkung, obwohl, Query # setMaxResults / Abfrage # setFirstResult meisten grundlegenden Bedürfnisse für Paging abdeckt.

Es gibt einen guten 3. eine Lösung: https://github.com/whiteoctober/Pagerfanta

Ich fand es sehr nützlich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top