Symfony 2: knppaginator не разрешает левое соединение

Я использую 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, все работает нормально.


person Max    schedule 01.06.2015    source источник
comment
Может помочь stackoverflow.com/questions/24165202/   -  person Mario Radomanana    schedule 01.06.2015


Ответы (1)


Этот вопрос задавали раньше. Ознакомьтесь с этим ответом: Доктрина: разбиение на страницы с левыми соединениями

person Frank B    schedule 01.06.2015