Построитель запросов доктрины 2 и таблицы объединения
Я пытаюсь получить все комментарии для каждого сообщения на моей домашней странице
return
$this->createQueryBuilder('c')
->select('c')
->from('Sdz\BlogBundle\Entity\Commentaire' ,'c')
->leftJoin('a.comments' ,'c')->getQuery()->getResult() ;
но я получаю эту ошибку
[Semantical Error] line 0, col 58 near '.comments c,': Error:
Identification Variable a used in join path expression but was not defined before.
PS: Отображение корректно, потому что я вижу статью на странице со своими комментариями.
Ответы
Ответ 1
Если это все еще вызывает проблемы, вот ваш запрос, используя синтаксис, содержащийся в примерах документации Doctrine 2.1.
Я предполагаю, что ваш запрос находится в пользовательском методе репозитория, и что 'a' является аббревиатурой для "Статьи".
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder();
$qb->select(array('a', 'c'))
->from('Sdz\BlogBundle\Entity\Article', 'a')
->leftJoin('a.comments', 'c');
$query = $qb->getQuery();
$results = $query->getResult();
return $results;