【发布时间】:2014-09-11 10:02:51
【问题描述】:
控制器上的分页是这样工作的
/**
*@Route("/rating/{page}",name="testing")
*/
public function pagesAction($page,Request $request)
{
// retrieve GET variables
$pageNumber = $request->query->get('pageNumber');
$pageSize = $request->query->get('pageSize');
$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$results = $qb->add('select', 'p')
->add('from', 'GabrielUploadBundle:Post p')
->add('where', 'p.upvotes > 100')
->add('orderBy', 'p.createdAt ASC')
->setMaxResults($pageSize)
->setFirstResult($pageSize * ($pageNumber - 1))
->getQuery();
return $this->render('GabrielLayoutBundle:Worldpage:content_loop.html.twig',array('posts'=>$results->getResult()));
}
现在我只需要传递 URL 的 pageNumber 和 pageSize (到目前为止它有效)
/rating/front?pageNumber=1&pageSize=3
我只需要知道如何显示这样的结果
我一直在努力完成这一步,因为我不知道如何计算结果的数量以及如何让“下一个”和上一个按钮起作用
【问题讨论】:
标签: symfony doctrine-orm pagination twig