我有一个包含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));
}
有人可以帮忙吗?
答案 0 :(得分:0)
愚蠢的我......
$pagerfanta->setMaxPerPage($maxPerPage);
此代码应位于' if'
之前