6
从版本2.2开始学说有Paginator。只有一个文档中的例子:Doctrine2 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的分页。班上应该有一些有用的方法。我可以在哪里找到它们?如果没有,那么全班的重点是什么?
这并没有回答这个问题,因为在手头的问题中没有Symfony特有的问题。相反,只有一个纯理论解决方案会更好。我有完全相同的问题,也想知道Paginator类的重点。 – 2014-01-15 13:39:34
AFAICT,Paginator类仅用于解决尝试在JOINed DQL查询上使用setMaxResults时发生的问题。糟糕的设计给我,但显然我知道什么。 >< – 2014-09-07 04:28:27