Я хотел бы знать, как я могу поместить более одной формы в один контроллер?Я сделал это, см. Код ниже, в моем контроллере, который содержит 2 формы;1, чтобы добавить лошадь, и один, чтобы добавить группу лошадей:
/*Add a horse*/
$cheval = new Chevaux();
$cheval->setParticulier($user->getParticulier());
$formAddHorse = $this->createFormBuilder($cheval)
->add('nom_cheval', TextType::class)
->add('save', SubmitType::class, array('label' => 'Ajouter'))
->getForm();
$formAddHorse->handleRequest($request);
if ($formAddHorse->isSubmitted() && $formAddHorse->isValid()) {
$cheval = $formAddHorse->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($cheval);
$em->flush();
return $this->redirectToRoute('app_acc');
}
/*add a group of horses*/
$team=new Team();
$team->setUser($user->getParticulier());
$formAddTeam = $this->createFormBuilder($team)
->add('profession', EntityType::class, array(
'class' => Profession::class,
'choice_label' => 'nom_prof',
'expanded' => true))
->add('save', SubmitType::class, array('label' => 'Nouvelle Team'))
->getForm();
$formAddTeam->handleRequest($request);
if ($formAddTeam->isSubmitted() && $formAddTeam->isValid()) {
$team = $formAddTeam->getData();
$em = $this->getDoctrine()->getManager();
/*
* Traitement des données
*/
return $this->redirectToRoute('app_acc');
}
и в шаблоне:
<h2> -------Add a horse------ </h2>
{{ form_start(formHorse) }}
{{ form_widget(formHorse) }}
{{ form_end(formHorse) }}
<h2> ------------------------------ </h2>
<h2> -------Add team------ </h2>
{{ form_start(formTeam) }}
{{ form_widget(formTeam) }}
{{ form_end(formTeam) }}
<h2> ------------------------------ </h2>
Однако, когда я отправляю одну из форм, кажется, чтооба отправлены.Поэтому выдает ошибку:
Эта форма не должна содержать дополнительных полей
в форме, которую я не отправил.Данные отправляются в базу данных правильно, но ошибка здесь и говорит мне, что я делаю что-то не так.Как мне сделать это правильно?