我正在使用来自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。这是一个虚拟问题,但我无法找到答案。非常感谢。
答案 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