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) :
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'ai besoin que l'on m'explique comment traduire ceci avec le querybuilder.

J'essaie de faire ceci :
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')
Parce que la ça me retourne : "Invalid PathExpression. Must be a StateFieldPathExpression"

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