我有一个mysql数据库博客,里面有21篇文章。我设置$maxPerPage="3";所以我得到了7页,但从第4页我得到了以下错误:
OutOfRangeCurrentPageException:页面"4"不存在。当前页面必须低于"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));
}
有人能帮忙吗?
愚蠢的我…
$pagerfanta->setMaxPerPage($maxPerPage);
此代码应在"if"之前