1

ページ分割された結果を取得するために 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 を省略すると、すべて正常に動作します。

4

1 に答える 1

0

この質問は前に尋ねられます。この回答を確認してください: Doctrine : left Joins によるページネーション

于 2015-06-01T07:53:39.373 に答える