forms – Symfony2 – 如何在使用query_builder时自定义实体字段类型的选择选项标签?

当我在Symfony2中创建一个实体字段时,我如何指定生成的select选项字段的值?

这是我的实体字段的片段:

->add('preferred_language', 'entity', array(
    'mapped' => false,
    'property' => 'name',
    'class' => 'Common\MainBundle\Entity\Language',
    'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->orderBy('u.id', 'DESC');
    }

实际上我可以通过属性指定显示的值,它自动获取引用db表的id.好.相反,我能做些什么呢?我想改变期权价值吗?

<option value="my_value">my_property</option>
最佳答案
如果创建“实体”字段,则在两个实体之间创建关系表单,因此默认字段值是实体上的id annoted字段.
您可以使用View Transformer更改此行为.看看这个doc:
http://symfony.com/doc/current/cookbook/form/data_transformers.html#model-and-view-transformers

转载注明原文:forms – Symfony2 – 如何在使用query_builder时自定义实体字段类型的选择选项标签? - 代码日志