让Doctrine分页工作完美,但其中一个要求位于结果表的底部,以显示Displaying X of X results
。
获得总结果不是问题,因为您可以这样做:
$paginator = new Paginator($query);
echo $paginator->count(); // total results for the query
我可以使用以下方式计算当前显示的结果:
$paginator = new Paginator($query);
echo $paginator->getIterator()->count();
但是这会导致另外两个查询被执行,我想要一种只用3个查询而不是5个查询的方法!
有什么建议吗?
答案 0 :(得分:1)
我发现的一个解决方案是扩展学说分页符,如果有效,但我觉得这是一个更好的解决方案?
use Doctrine\ORM\Tools\Pagination\Paginator as DoctrinePaginator;
class Paginator extends DoctrinePaginator
{
protected $iterator;
public function getIterator()
{
if (is_null($this->iterator)) {
$this->iterator = parent::getIterator();
}
return $this->iterator;
}
}