У меня проблема с DQL в Doctrine 2.
Подзапросы кажутся недоступными в DQL, поэтому я не знаю, как преобразовать:
SELECT DISTINCT a.ID_DOMAINE, L_DOMAINE, b.ID_SS_DOMAINE, L_SS_DOMAINE, c.ID_COMPETENCE, L_COMPETENCE
FROM ((qfq_prod.REF_DOMAINE a inner join qfq_prod.REF_SS_DOMAINE b on a.id_domaine = b.id_domaine)
inner join qfq_prod.REF_COMPETENCE c on b.id_ss_domaine = c.id_ss_domaine)
inner join qfq_prod.REF_PERS_COMP d on c.id_competence = d.id_competence
в выражение DQL.
Я попробовал и получил
«Ошибка: класс '(' не определен».
Я видел, что мы можем использовать Query Builder для этого.
Будучи новичком в Doctrine 2, может кто-нибудь объяснить мне, как я могу это сделать, пожалуйста?
Мой DQL в настоящее время:
$query = $this->getEntityManager()->createQuery ( "SELECT DISTINCT a.ID_DOMAINE, L_DOMAINE, b.ID_SS_DOMAINE, L_SS_DOMAINE, c.ID_COMPETENCE, L_COMPETENCE
FROM ((BdDoctrine\Entity\Domaine a inner join BdDoctrine\Entity\SsDomaine b on a.id_domaine = b.id_domaine)
inner join BdDoctrine\Entity\Competence c on b.id_ss_domaine = c.id_ss_domaine)
inner join BdDoctrine\Entity\LienPersComp d on c.id_competence = d.id_competence" );
$res = $query->getResult ();
'('
к какому'('
это относится? Я вижу, что в вашем запросе есть два'('
. Пытались ли вы сначала сократить свой запрос (упростить его), чтобы заставить его выполняться, а затем шаг за шагом расширять его? - person hakre   schedule 04.07.2013[Semantical Error] line 0, col 109 near '((BdDoctrine\Entity\Domaine': Error: Class '(' is not defined.
- person Kiruchi   schedule 04.07.2013