ページ分割された結果を取得するために knppaginator を使用します。クエリで LEFT JOIN ステートメントを使用すると、次のエラーが発生します。
Cannot count query which selects two FROM components, cannot make distinction
私のコントローラーのコードは次のようになります。
public function paginationAction()
{
$em = $this->get('doctrine.orm.entity_manager');
$dql = "SELECT p.name, c.name
FROM MyBundle:Products p
LEFT JOIN MyBundle:Categories c
WITH c.id = p.categoryId";
$query = $em->createQuery($dql);
$request = $this->getRequest();
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query,
$request->query->getInt('page', 1),
10
);
$viewData['pagination'] = $pagination;
return $this->render('MyBundle:results.html.twig', $viewData);
}
LEFT JOIN ステートメントを機能させるにはどうすればよいですか? LEFT JOIN を省略すると、すべて正常に動作します。