Доктрина 2 осталось присоединиться - PullRequest
0 голосов
/ 21 ноября 2011

как я могу сделать в Doctrine 2, используя -> from (), -> leftjoin ...

как то так

select c.* from category left join domande as d on d.category_id = c.id left join age as a on d.age_id = a where a.age > 30 and a.id is not null

я продолжаю получать

Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message '[Semantical Error] line 0, col 63 near 'd ORDER BY c.ordine': Error: Identification Variable Entities\Domanda used in join path expression but was not defined before.'

1 Ответ

3 голосов
/ 21 ноября 2011

У вас может быть опечатка в вашем запросе - обратите внимание, что написание «Domande» и «Domanda» отличается в двух местах, где у вас есть это в вашем вопросе.Кроме того, ваш SQL не упоминает предложение ORDER BY, но сообщение об ошибке содержит.

Вот ваш запрос, написанный на DQL и включающий предложение ORDER BY, на которое есть ссылка в сообщении об ошибке.

$query = $em->createQuery(
    'SELECT c FROM Entities\Category LEFT JOIN c.domande d LEFT JOIN d.age a 
     WHERE a.age > 30 AND a.id IS NOT NULL ORDER BY c.ordine');
$results = $query->getResult();
...