2

我需要用 symfony 创建一个具有实体类型的表单,所以我正在使用

->add('assignee', 'entity', array(
           'label' => 'Assignee',
           'class'  => 'PortalBundle:TrnUser',
           'property' => 'username',
           ))

在生成的 html 中,它分配 userid 作为选项值,但我需要用户名作为选项值。就像是,

<option value="admin">admin</option>

我怎样才能做到这一点?请帮忙。

谢谢..

4

2 回答 2

3

你需要数据转换器。它们可以帮助您以所需的形式显示数据。在那里你可以找到有关 Symfony2 中数据转换器的所有信息:

http://symfony.com/doc/current/cookbook/form/data_transformers.html

于 2013-06-11T11:45:09.200 回答
0

您可以将“choice_value”选项与要使用的字段名称一起使用,而不是 id。

        $builder
        ->add('user', 'entity', [
            'class' => 'YourBundle\Entity\Locations',
            'property' => 'name',
            'choice_value' => 'name',
            'required' => true,
        ])
于 2016-02-23T16:50:58.880 回答