KnpPaginator バンドルを使用して、ページ分割された 2 つの結果セットを (テーブルを表す 2 つの配列として) 小枝に渡す 1 つのコントローラーがあります。
両方のテーブルが表示され、ページ分割されていますが、並べ替えることができません。 編集:表 1 のページを変更すると、表 2 のページもそのページ番号に変更されます。
どちらかをソートしようとすると、指定されたクエリに [t] によってエイリアスされたコンポーネントはありません。または、指定されたクエリに [r] によってエイリアスされたコンポーネントはありません。
コントローラー:
$em = $this->getDoctrine()->getEntityManager();
$pageSize = $this->container->getParameter('page_size');
$paginator = $this->get('knp_paginator');
/* Queries */
$queryTest = $em
->createQuery('
SELECT t FROM PanasonicTestEtAvisBundle:Test t
JOIN t.product p
WHERE p.id = :id
AND t.isDeleted = :isdeleted
ORDER BY t.creationDate DESC'
)->setParameter('id', $id)
->setParameter('isdeleted', '0');
$queryReview = $em
->createQuery('
SELECT r FROM PanasonicTestEtAvisBundle:Review r
JOIN r.product p
WHERE p.id = :id
AND r.isDeleted = :isdeleted
ORDER BY r.creationDate DESC'
)->setParameter('id', $id)
->setParameter('isdeleted', '0');
/* paginated results */
$paginationTest = $paginator->paginate($queryTest, $this->get('request')->query->get('page', 1), $pageSize);
// compact('paginationTest');
$paginationReview = $paginator->paginate($queryReview, $this->get('request')->query->get('page', 1), $pageSize);
// compact('paginationReview');
// compact('pagination');
return $this->render('PanasonicTestEtAvisBundle:Product:show.html.twig', array(
'paginationTest' => $paginationTest,
'paginationReview' => $paginationReview
));
エラーは、両方のページネーション (paginationTest と paginationReview) を渡した場合にのみ表示されます。1 つだけを渡した場合、問題なく動作します。
誰でもこの問題を解決する方法を教えてもらえますか?