Метод «email» для объекта «Symfony \ Component \ Form \ FormView» не существует в SqliGestionCongeBundle: по умолчанию: add.html.twig

Как я могу добавить текстовые поля в свою форму, зная, что это не существует в моей сущности!

У меня это в моей ветке:

<form action="{{ path('add_conge') }}" method="post"> <h1>{{ 'Envoyer une demande de cong&eacute;'}}</h1> <div> {{ form_errors(form.email) }} {{ form_label(form.email, 'Email Collaborateur:') }} {{ form_widget(form.email) }} </div> <div> {{ form_errors(form.dateDepart) }} {{ form_label(form.dateDepart, 'Date depart:') }} {{ form_widget(form.dateDepart) }} </div> //... 

и я получаю это исключение:

  Method "email" for object "Symfony\Component\Form\FormView" does not exist in SqliGestionCongeBundle:Default:add.html.twig 

Как сказано в этом Вопросе, у вас нет этого поля в вашем типе формы.

Чтобы добавить поле, которое не обрабатывается с помощью entity / formType, вам необходимо сделать следующее:

 //where you're creating your form with the formbuilder ->add("email", "email", array("mapped"=>false); 

Это добавит поле в вашу форму, не связанную с сущностью.

Чтобы получить данные от этого, просто сделайте это в контроллере / действии, где вы обрабатываете форму:

 $form->get("email")->getData();