Bonjour, je suis actuellement bloqué sur les fonctions de mes users avec les relations.
je m'explique :
Mes users peuvent avoir plusieurs fonctions : ( dresseur, propriétaire, admin, etc )
j'ai donc une entity "user" et une entity "fonction" avec une relation manyToMany qui fonctionne bien.
Un propriétaire possède un animal.

J'ai un problème quand je crée un cours car
formulaire de saisie du cours :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$builder
            ->add('users', EntityType::class, [
                'class' => 'AppBundle:user',
                'query_builder' => function(EntityRepository $ur) {
                    return $ur->createQueryBuilder('u')
                        ->join ('u.fonctions','f')
                        ->where('f.fonctionCourt = :fonction')
                        ->setParameter('fonction','Pro')
                        ->addSelect('f');
                },
                'placeholder' => 'nom du propriétaire',
                'choice_label' => 'prenomUser',
                "expanded" => true,
                "multiple" => true
            ])
            ->add('animals', EntityType::class, [
                'class' => 'AppBundle:Animal',
                'query_builder' => function(EntityRepository $entityRepository) {
                    return $entityRepository->createQueryBuilder('a')
                        ->orderBy('a.nomAnimal', 'ASC');
                },
                'choice_label' => 'nomAnimal',
                "multiple" => true
            ])
            ->add('users', EntityType::class, [
                'class' => 'AppBundle:user',
                'query_builder' => function(EntityRepository $ur) {
                    return $ur->createQueryBuilder('u')
                        ->join ('u.fonctions','f')
                        ->where('f.fonctionCourt = :fonction')
                        ->setParameter('fonction','Dre')
                        ->addSelect('f');
                },
                'choice_label' => 'prenomUser',
                "expanded" => true,
                "multiple" => true
            ])
le problème est qu'il me donne que le choix du dresseur et et non dans un premier temps le propriétaire et ensuite le dresseur.
Un solution serait de différences les tables users comme suit ( usersDresseur et usersPropriétaire) mais cela voudrait dire qu'un dresseur ne peut être propriétaire en même temps.

Y-a-t-il une solution plus facile ?

merci