0

我有一个 mysql 数据库博客,里面有 21 个帖子。我设置 $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));

}

有人可以帮忙吗?

4

1 回答 1

0

愚蠢的我...

$pagerfanta->setMaxPerPage($maxPerPage);

此代码应在“if”之前

于 2016-04-03T18:44:24.663 回答