Doctrine2 Paginator

时间:2012-04-11 13:17:23

标签: orm symfony pagination doctrine-orm

从版本2.2开始,Doctrine有Paginator。文档中只有一个例子:

<?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()完成。

我知道有一些关于分页的捆绑包但我不想为这些琐碎的问题安装第三方捆绑包。另一方面,我找不到任何关于教义的分页2。应该有一些有用的方法。我在哪里可以找到它们?如果没有那么整个班级有什么意义呢?

1 个答案:

答案 0 :(得分:4)

Doctrine的分页器不是Symfony意识到的 - 它是低级别和Doctrine特有的。

另一方面,如果您安装a 3rd party bundle,您将获得Doctrine ORM&amp; amp;的分页适配器。 ODM,Propel,普通数组等。您还将获得Symfony集成和查看帮助程序。我使用至少WhiteOctoberPagerfantaBundle来做所有这些。

所以,除非你只使用Doctrine,否则我建议你重新考虑你对第三方捆绑的立场。