Bonjour,
J'ai une requête SQL avec des jointures :
Je voudrais la "convertir" en dql mais j'ai un soucis au niveau du dernier LEFT OUTER JOIN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT f.id, f.nom FROM conffilieres f LEFT OUTER JOIN confbriques b ON f.id = b.filiere_id LEFT OUTER JOIN confapplications a ON b.id = a.brique_id LEFT OUTER JOIN confmeteos_confapplications ma ON a.id = ma.confapplications_id LEFT OUTER JOIN confmeteos m ON ma.confmeteos_id = m.id WHERE m.id = ID (passer en paramètre)
Ce que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public function findFilieresByMeteoClient($meteo_id) { $query = $this->_em->createQuery(" SELECT f FROM MeteoApplisAdminBundle:ConfFilieres f LEFT JOIN MeteoApplisAdminBundle:ConfBriques b WITH f.id = b.filiere LEFT JOIN MeteoApplisAdminBundle:ConfApplications a WITH b.id = a.brique [...] (Il me manque cette partie) WHERE m.id = '$meteo_id' "); return $query->getResult();
Je pense qu'il faut mettre :
mais j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LEFT JOIN MeteoApplisAdminBundle:ConfMeteos m WITH a.id = m.applications
[Semantical eRROR LINE o, cal 279 near applications WHERE: Error Invalid PathExpression.
StateFieldPathExpression or SingleValuedAssociationField expected
Est-ce que quelqu'un sait comment on fait vu que j'ai une relation manyToMany entre l'entité ConfApplications et ConfMeteos.
Merci
Partager