Bonjour,

j'ai une entité Comité avec des attributs id et nom, une entité Membre avec des attributs id et nom, et une entité MembreComite qui est en relation ManyToOne avec mes entités Comité et Membre.

Mon entité MembreComité contient des attributs actif et president. Si un membre est actif (= présent) dans ce comité alors actif est true, et s'il est président de ce comité alors président est true.

Je dois récupérer la liste des comités avec leur président respectif.

Voici ma requête :

Class ComiteRepository :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public function findAllWithPresident()
    {
        return $this->createQueryBuilder('c')
            ->leftJoin('c.membreComites', 'mc')
            ->leftJoin('mc.membre', 'm')
            ->where('mc.actif = 1')
            ->getQuery()
            ->getResult()
        ;
    }
Et mon index.html.twig :

Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% for comite in comites %}
 
                <tr>
                    <td class="align-middle">{{ comite.nom }}</td>
                    <td class="align-middle">
                        {% if not comite.membreComites.first.president %}
                            Non renseigné
                        {% else %}
                            <span class="text-uppercase">{{ comite.membreComites.first.membre.nom }}</span> {{ comite.membreComites.first.membre.prenom }}
                        {% endif %}
                    </td>
                </tr>
 
            {% endfor %}

Voici mes résultats :

Nom : comites.png
Affichages : 101
Taille : 11,3 Ko

Alors ça m'affiche bien le président du Comité#1, mais pas ceux du Comité#2 et #3 !

Pourtant ces deux comités ont bien un président actif en base de données :

Nom : membrescomites.png
Affichages : 108
Taille : 31,8 Ko

Quelqu'un peut-il m'aider ?

Merci.