バージョン 2.2 以降、Doctrine にはPaginatorがあります。ドキュメントには 1 つの例しかありません。
<?php
use Doctrine\ORM\Tools\Pagination\Paginator;
$dql = "SELECT p, c FROM BlogPost p JOIN p.comments c";
$query = $entityManager->createQuery($dql)
->setFirstResult(0)
->setMaxResults(100);
$paginator = new Paginator($query, $fetchJoin = true);
$c = count($paginator);
foreach ($paginator as $post) {
echo $post->getHeadline() . "\n";
}
ドキュメントで説明されているプロセス全体が で実行できるため、このクラスには新しいものはありません$query->getResult()
。
ページネーションに関するバンドルがいくつかあることは知っていますが、そのような些細な問題のためにサードパーティのバンドルをインストールしたくありません。一方、doctrine2 のページネーションについては何も見つかりません。クラスのいくつかの便利なメソッドがあるはずです。どこでそれらを見つけることができますか? そうでない場合、クラス全体のポイントは何ですか?