我知道Doctrine带有一个简单的分页器。不幸的是,docs在使用方面非常稀少。
如何使用它每页显示10个实体?并且,它是否处理实际的寻呼机功能,还是仅仅实现跳过/接收功能?
答案 0 :(得分:4)
Doctrine paginator在我的案例中表现得非常好。我在BaseController中有这个功能(不是来自Symfony):
protected function getDoctrinePaginator(QueryBuilder $qb, $limit=10)
{
$page = $this->getRequest()->query->get("page", 1) ;
$qb ->setFirstResult( ( $page-1 ) * $limit)->setMaxResults($limit) ;
return new Paginator($qb);
}
在模板中,我有这个:
{% for user in paginator %}
{{ user.name }}
{% endfor %}
你必须手动处理订购和$ page值(阅读代码),但它易于使用,与knpPaginator不同,Doctrine与-big- join一起使用;我有一个有10-15个连接和很少的子查询,工作得很好。
答案 1 :(得分:-1)
Doctrine寻呼机非常有效,直到您在查询中使用JOIN语句。