2016-06-17 2 views
1

내가 이런 형태의 검색을 만들 수있어 실패 오순절 :쪽수를 매기다 결과 KipPaginatorBundle가

내가 검색을 실행할 때 나는 2 페이지를 클릭하면, 그것은 나에게 10 개 요소 첫 번째 페이지를 표시하지만, 그것은 나에게 보여줍니다 모든 내 기준 검색을 고려하지 않고 데이터베이스의 요소 나는

답변

1

나는 문제가 당신의 $entity 필요 쿼리가 아니라 결과로 생각,

class FrontController extends Controller 
{ 
     /** 
     * @Route("/", name="front_homepage") 
     */ 
     public function indexAction(){ 

      $form = $this->createForm(SearchType::class); 

      return $this->render('FrontBundle::layout.html.twig', array(
       'form' => $form->createView(), 
      )); 
     } 

} 


class SearchController extends Controller 
{ 
    /** 
    * @param Request $request 
    * @Route("/search/form", name="front_search_form") 
    */ 
    public function searchOffreAction(Request $request) 
    { 
     $em = $this->getDoctrine()->getManager(); 

     $form = $this->createForm(SearchType::class); 

     $form->handleRequest($request); 

     if($form->isSubmitted()) { 

      $entity = $em->getRepository('CoreBundle:Foo')->findByCritere($form->getData()); 

      /** @var Paginator $paginator */ 
      $paginator = $this->get('knp_paginator'); 
      $result = $paginator->paginate(
       $entity, 
       $request->query->getInt('page', 1), 
       10 
      ); 

      return $this->render('FrontBundle:Search:offre.html.twig', ['offres' => $result]); 

     } 

     return $this->createNotFoundException(); 
    } 

} 

여러분 모두 감사 이해하지 않습니다. 그것이 작동

$em = $this->getDoctrine()->getManager(); 
$dql = "SELECT f FROM CoreBundle:Foo f"; 
$query = $em->createQuery($dql); 

/** @var Paginator $paginator */ 
$paginator = $this->get('knp_paginator'); 
$result = $paginator->paginate(
    $query, 
    $request->query->getInt('page', 1), 
    10 
); 

확실하지 않음 경우, 그러나 그것을 시도 :

대신 사용해보십시오.

+0

고맙습니다. 내 인생을 구 했으니 까 ... – Darkness007

+0

도와 줘서 다행! 추가 도움이 필요하면 더 많은 질문을 올리십시오. –