Pagerfanta symfony Pagination

时间:2016-04-03 12:54:35

标签: symfony pagerfanta

我有一个包含21个帖子的mysql数据库博客。 我设置$ maxPerPage ='3';所以我得到7页,但是从第4页我得到以下错误:

OutOfRangeCurrentPageException:页面“4”不存在。 currentPage必须低于“3”

这是我的代码:

  public function indexAction($page)

{

$maxPerPage = '3';
$currentPage = $page;

$entityManager = $this->getDoctrine()->getManager();
$queryBuilder = $entityManager->createQueryBuilder()
->select(array('u')) // string 'u' is converted to array internally
->from('AppBundle:Blog', 'u');
$adapter = new DoctrineORMAdapter($queryBuilder);
$pagerfanta = new Pagerfanta($adapter);
if (!$page) $currentPage = '1';
try  {
    $pagerfanta->setCurrentPage($currentPage);
}
catch(NotValidCurrentPageException $e) {
  throw new NotFoundHttpException('Illegal page');
}
$pagerfanta->setMaxPerPage($maxPerPage); // 10 by default






//$textblog = $this->getDoctrine()
  //->getRepository('AppBundle:Blog')
  //->find($page);


return $this->render('textblog/blog.html.twig',array('pagerfanta' => $pagerfanta));

}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

愚蠢的我......

$pagerfanta->setMaxPerPage($maxPerPage);

此代码应位于' if'

之前