Bonjour,

Voilà, je rencontre un petit problème avec mon code.
J'aimerai mettre à jour les listes d'une collection suite à une modif du formulaire parent.
Par exemple :
J'ai un formulaire Pays quand on selectionne le pays cela affiche x lignes contenant 2 zones : Villes et nombre d'habitants. (on peut ajouter/supprimer des lignes dynamiquement)
A chaque changement de la liste pays, il faut que toutes les listes villes se mettent à jour.

Voici mon fomulaire parent (qui se trouve dans un fichier type :

$builder

            ->add('pays', EntityType::class, array(
                'class' => 'AppBundle:Pays',
                'choice_label' => 'nomPays'
            ))
        ->add('details', CollectionType::class, array(
            'entry_type' => PaysDetailType::class,
            'allow_add'    => true,
            'allow_delete' => true,
            'by_reference' => false
        ));

Mon formulaire details (qui se trouve dans un autre fichier type) :

$builder           
            ->add('ville', EntityType::class, array(
                'class' => 'AppBundle:Ville',
                'query_builder' => function (EntityRepository $er) {
                    return $er->createQueryBuilder('u')
                        ->where('u.pays = :pays')
                        ->setParameters('pays', $pays)
                        ->orderBy('u.nomVille', 'ASC');
                },
                'placeholder' => 'Veuillez choisir une ville',
                'choice_label' => 'nomTache'
            ))
            ->add('habitants', TextType::class)

J'ai bien essayé de mettre un eventListener sur le parent Pays :

$builder->get('pays')->addEventListener(
                FormEvents::POST_SUBMIT,
                function (FormEvent $event) use ($formModifier) {
                    $pays = $event->getForm()->getData();
                    $formModifier($event->getForm()->getParent(), $pays);
                }
            );

Mais où mettre ça : $formModifier($event->getForm()->getParent(), $pays);
comment acceder au formulaire enfant depuis le parent et vice-versa ?

Merci!

Aucune réponse