我需要使用具有实体类型的symfony创建一个表单,所以这是使用
->add('assignee', 'entity', array(
'label' => 'Assignee',
'class' => 'PortalBundle:TrnUser',
'property' => 'username',
))
在生成的html中,它将userid指定为选项值,但我需要用户名作为选项值。像,
<option value="admin">admin</option>
我该怎么做?请帮忙。
感谢..
答案 0 :(得分:3)
您需要数据转换器。它们可以帮助您根据需要以表单形式显示数据。 在那里,您可以找到有关Symfony2中的数据变换器的所有信息:
http://symfony.com/doc/current/cookbook/form/data_transformers.html
答案 1 :(得分:0)
您可以使用&#39; choice_value&#39;选项,包含您要使用的字段的名称而不是ID。
$builder
->add('user', 'entity', [
'class' => 'YourBundle\Entity\Locations',
'property' => 'name',
'choice_value' => 'name',
'required' => true,
])