Selectbox有两个属性

时间:2013-05-20 18:53:57

标签: forms symfony

我正在使用来自DB的数据创建一个选择框。我有

      $builder->add('user', 'entity', array(
        'label' => 'User:',
        'class' => 'AcmeDemoBundle:User',
        'query_builder' => function($repository) {
            return $repository->createQueryBuilder('u')->orderBy('u.surename', 'ASC');
        },
        'property' => 'name','data'=>'id'
    ))

但我没有只显示名称,而是想在selectbox中显示surename和name。这是一个虚拟问题,但我无法找到答案。非常感谢。

1 个答案:

答案 0 :(得分:0)

您最好的选择是在__toString()实体中实施User

public function __toString()
{
    return $this->surename.' '.$this->name ? '';
}

然后从表单类型中删除选项property

$builder->add('user', 'entity', array(
        'label' => 'User:',
        'class' => 'AcmeDemoBundle:User',
        'query_builder' => function($repository) {
            return $repository->createQueryBuilder('u')->orderBy('u.surename', 'ASC');
        }
    ))

http://symfony.com/doc/current/reference/forms/types/entity.html#property