Bonjour.
J’essaie de faire un formulaire avec imbrication de champ. Je fais pour cela un listeneur :
$builder->add('nom')
->add('utilisateur', EntityType::class, array(
'label' => "Nom du professionnel",
'class' => 'UtilisateursBundle:Utilisateurs',
'mapped' => false,
'required' => false,
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
return $er->createQueryBuilder("u")
->where("u.roles LIKE '%pro%'"); //ne selectionne que les pro
},
));
$builder->get('utilisateur')->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event){
//die(var_dump($event->getForm()->getData())); Le die ne se lance pas
$form = $event->getForm();
$form->getParent()->add('adresse', EntityType::class, [
'class' => 'siteBundle:UtilisateursAdresses',
'placeholder' => "Sélectionner l'adresse du professionel",
'mapped' => false,
'required' => false,
'choices' => $form->getData()->getAdresses()
]);
}
);
Mais Symfony ne lit pas la function FormEvent. Du coup, je n’ai pas le champ « adresse » dans ma vue.
Quelqu’un aurait une idée de mon erreur ? Y a til une option pour activer le listener sur Symfony 3.4 ?