Je suis confronté a un problème de gestion de formulaire sur une entité de type many-to-many.
Mon entité est une association entre deux tables qui comprend un attribut dans la table de l'association.
J'ai actuellement besoin de faire une liaison entre l'entité Personne et l'entité Métier. L'association comprend un champ 'principal' et ce nomme 'personne_metier'.
J'ai essayé de faire un formulaire en partant de l'association 'personne_metier' pour faire une validation sur le métier. Dans mon controlleur :
public function addMetierAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$personne = $this->getUser();
$pm = new PersonneMetier();
$pm->setPersonne($personne);
$form = $this->createForm(PersonneMetierType::class, $pm, array('method' => 'POST'));
if ($request->isMethod('POST') && $form->handleRequest($request)->isValid())
{
$em->persist($pm);
$em->flush();
return $this->redirect($this->generateUrl('back'));
}
return $this->render(
'back.html.twig',
array(
'form' => $form->createView(),
'personne' => $personne,
'personne_metier' => $pm,
)
);
}
Dans mon buildform:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('metier', EntityType::class, array(
'entry_type' => MetierType::class,
'allow_add' => true,
'allow_delete' => false,
'error_bubbling' => false,
)
);
}
Dans mon idée, c'est de pouvoir ajouter plusieurs métier à la personne dans un même formulaire. Mais lorsque je valide le formulaire, je n'arrive pas a faire valider le formulaire une quantité inconnue de métier.Je pense pouvoir le faire pour un métier mais pas plus