时间:2015-05-08 13:50:04

标签: php symfony

是否可以在实体集合表单字段中连接两个属性?

这样选择输入就会显示如下内容:

property1 - Property 2

到目前为止,我的构建器字段看起来像这样

->add('arrival', 'entity', array(
'class' => 'AOFVHFlyBundle:Airport',
'property' => 'name',
'query_builder' => function($repository) {
                                return $repository->createQueryBuilder('u')
                                    ->orderBy('u.name', 'ASC');
                            },
))

但显然,它只返回name属性。我的机场实体有一个名字"财产和"代码"财产,我想展示类似的东西 [机场名称] - [机场代码]

有可能吗?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

告诉表单使用实体中不存在的属性:

->add('arrival', 'entity', array(
'class' => 'AOFVHFlyBundle:Airport',
'property' => 'virtualProperty', // <- set to value that doesn't actually exists
'query_builder' => function($repository) {
                                return $repository->createQueryBuilder('u')
                                    ->orderBy('u.name', 'ASC');
                            },
))

在你的实体中为这个&#34;属性&#34;创建一个getter。像:

public function getVirtualProperty()
{
    return $this->getName() . ' - ' . $this->getCode();
}