使用Symfony2
entity field type应该指定属性选项:
$builder->add('customers','entity',array( 'multiple' => true,'class' => 'AcmeHelloBundle:Customer','property' => 'first',));
但有时这还不够:考虑两个同名的客户,所以显示电子邮件(唯一)将是强制性的。
另一种可能性是在模型中实现__toString():
class Customer { public $first,$last,$email; public function __toString() { return sprintf('%s %s (%s)',$this->first,$this->last,$this->email); } }
后者的不利之处在于,您被迫以所有形式的方式显示实体。
$builder->add('customers','property' => function($data) { return sprintf('%s %s (%s)',$data->first,$data->last,$data->email); },));