レコードのリストを含むページでknp Paginatorバンドルを使用し、同じページにレコードのリストを検索するオプションを提供できる検索ボックスが存在します。フィルター用語を指定して検索ボタンを押した後、リストはページにうまく表示されますが、リストがすべてのページの制限数を超えて、たとえばknp bundle paginatorのページ2ボタンを押すと、すべてのレコードが読み込まれます、入力した用語を覚えていません。
フィルタリングに使用される私のメソッドアクションが見つかります:
public function searchAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$form = $this->createSearchForm();
$form->handleRequest($request);
//initialisation de l'objet paginator
$paginator = $this->get('knp_paginator');
$data=$form->getData();
$entities = $em->getRepository('EnsDataBundle:Data')->findterm($data['searchterm']);
$pagination = $paginator->paginate($entities, $this->get('request')->query->get('page', 1),3);
return $this->render('EnsDataBundle:Data:index.html.twig', array(
'entities' => $pagination,
'form' => $form->createView(),
));
}
上記の方法はknp paginator bundleがなくても非常にうまく機能するため、問題はknp paginator bundleで複数のページで同じ検索語($data['searchterm'])を使用する方法です