2016-04-03 5 views
-1

İçinde 21 mesajla birlikte bir mysql veritabanı bloğum var. $ maxPerPage = '3' ayarlıyorum; Bu yüzden 7 sayfa alıyorum, ancak sayfa 4'ten aşağıdaki hatayı alıyorum:Pagerfanta symfony Pagination

OutOfRangeCurrentPageException: Sayfa "4" mevcut değil. CurrentPage aşağı olmalıdır için "3"

İşte benim kod:

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)); 

}

Herkes Lütfen yardımcı olabilir?

cevap

0

aptalmışım ...

$pagerfanta->setMaxPerPage($maxPerPage); 

Bu kod

'eğer' önce olmalıdır