Requête SQL avec jointures
Bonjour,
J'ai une requête SQL avec des jointures :
Code:
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) |
Je voudrais la "convertir" en dql mais j'ai un soucis au niveau du dernier LEFT OUTER JOIN.
Ce que j'ai fait :
Code:
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 :
Code:
1 2
| LEFT JOIN MeteoApplisAdminBundle:ConfMeteos m
WITH a.id = m.applications |
mais j'ai une erreur :
[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