Bonjour,

Je prépare ma première requête en DQL, j'aimerais faire une requête bien spécifique dans un repository, et pour cela je dois appliquer 2 conditions à ma jointure.

Admettons le schéma suivant:
3 tables:
  • Membre
  • Adresse
  • Animal


Voici les relations:
  • Adresse <- ManytoOne -> Membre
  • Animal <- ManyToOne -> Membre


Le but:
Récupérer les infos de l'adresse des membres, des membre eux même et de leur animal remplissant les conditions suivantes
  • Adresse.etage = $etage
  • Adresse.rue = $rue
  • Membre.nom = $nom
  • Membre.prenom = $prenom


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$qb = $this->createQueryBuilder('a')
      ->where('a.rue = :rue')
      ->setParameter('rue', $rue)
      ->andWhere('a.etage = :etage')
      ->setParameter('etage', $etage);
/*Je voudrais rajouter une condition dans la jointure ci-dessous, admettons 'prenom' */
      $qb->join('a.membre', 'c', 'WITH', 'c.nom = :nom');
      ->setParameter('nom', $nom);
     $qb->join('c.animal', 'd')
      ->addSelect('d.age');
Merci pour le coup de main !