Bonjour,

J'ai cette requête :

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT enfant.nom, enfant.prenom, enfant.famille_id FROM enfant
WHERE enfant.famille_id IN (
    SELECT famille_comite.famille_id FROM famille_comite
    LEFT JOIN membre_comite ON membre_comite.comite_id = famille_comite.comite_id
    LEFT JOIN membre ON membre_comite.membre_id = membre.id
    WHERE membre.id = 1
    AND famille_comite.actif = 1
);

Que j'ai souhaité transmuter sous Symfony 5, voici 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
17
18
19
20
21
public function findAllOfCurrentMember($member)
    {
        $em = $this->getEntityManager();
        $expr = $em->getExpressionBuilder();
 
        $in = $this->createQueryBuilder('')
            ->select('fc.famille')
            ->from('App\Entity\FamilleComite', 'fc')
            ->join('App\Entity\MembreComite', 'mc', $expr->eq('mc.comite', 'fc.comite'))
            ->join('App\Entity\Membre', 'm', $expr->eq('mc.membre', 'm.id'))
            ->where('m.id = :member')
            ->setParameter('member', $member)
            ->andWhere('fc.actif = 1')
        ;
 
        return $this->createQueryBuilder('e')
            ->where($expr->in('e.famille', $in->getDQL()))
            ->getQuery()
            ->getResult()
        ;
    }
Je me retrouve avec cette erreur :

[Semantical Error] line 0, col 63 near 'famille FROM': Error: Invalid PathExpression. Must be a StateFieldPathExpression.
Quelqu'un peut-il m'aider ?

Merci !