SqliGestionCongeBundle中不存在对象"Symfony\Component\Form\FormView"的方法"email":默认值:add.html.twig

use*_*170 3 php symfony

如何在我的表单中添加文本字段,知道它在我的实体中不存在!!

我在我的树枝上有这个:

 <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>
//...
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

 Method "email" for object "Symfony\Component\Form\FormView" does not exist in SqliGestionCongeBundle:Default:add.html.twig 
Run Code Online (Sandbox Code Playgroud)

Kho*_*oly 5

本课题所述,您的表单类型中没有该字段.

要添加与实体/ formType不匹配的字段,您需要执行以下操作:

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

这将在表单中添加与实体无关的字段.

要从中接收数据,只需在您处理表单的控制器/操作中执行此操作:

$form->get("email")->getData();
Run Code Online (Sandbox Code Playgroud)