Bonjour,
Je voudrais faire une sous-requête avec le querybuilder.
J'ai grand besoin d'aide car j'ai beaucoup de mal à trouver de la doc sur internet
Voici ma requête en sql (qui marche niquel) :
J'ai besoin que l'on m'explique comment traduire ceci avec le querybuilder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT vol. * , COUNT( place.id ) FROM vol INNER JOIN place ON place.vol_id = vol.id WHERE place.id NOT IN ( SELECT place_id FROM userplace ) GROUP BY ( vol.id )
J'essaie de faire ceci :
Parce que la ça me retourne : "Invalid PathExpression. Must be a StateFieldPathExpression"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $qb=$this->_em->createQueryBuilder() ->select('vol.id,vol.dateheuredep,vol.dateheurearr,vol.prix') ->addSelect('count(p.id) as nbp') ->from('EuropeVoyageBundle:vol','vol') //EVIDEMMENT C EST ICI QUE CELA POSE PROBLEME : ->join('vol.places','p','WITH','p.id NOT IN (SELECT u.place FROM EuropeVoyageBundle:Userplace u)') ->orderBy('vol.dateheuredep') ->groupBy('vol')
Voila j'ai cherché plusieurs façons de faire, je ne sais pas comment intégrer mon NOT IN (SELECT ...) comme je le veux
Merci d'avoir pour votre aide
Partager