Php Symfony 2实体字段类型,带有原则querybuilder和leftjoin

Php Symfony 2实体字段类型,带有原则querybuilder和leftjoin,php,symfony,doctrine,Php,Symfony,Doctrine,我需要一些关于Symfony 2实体类型字段的帮助。我有一个带有表单生成器的索引函数: $form = $this->createFormBuilder($add) ->add('model', 'text') ->add('adType', 'entity', array( 'class' => 'FrontendAdBundle:AdType', 'property' => 'name', // ? adT

我需要一些关于Symfony 2实体类型字段的帮助。我有一个带有表单生成器的索引函数:

    $form = $this->createFormBuilder($add)
    ->add('model', 'text')
    ->add('adType', 'entity', array(
        'class' => 'FrontendAdBundle:AdType',
        'property' => 'name', // ? adTypeTransl.name needed
        'query_builder' => function(EntityRepository $er) {
            global $request;
            $result = $er->createQueryBuilder('t')
            ->leftJoin('t.adTypeTransl', 'tr')
            ->where('tr.lang = hr');

            return $result;
        },
    ));
我有两个名为AdType和AdTypeTransl的db表

广告类型: 系统名称

1 | sell
2 | rent
AdTypeTransl: id、语言、广告类型、名称

1 | hr | 1 | Prodaja
2 | hr | 2 | Najam
如您所见,我想将adTypeTransl左键连接到adType,并显示一个包含adType id值和adTypeTransl文本的选择列表

我用YML生成实体。这是我现在拥有的

AdType
    oneToMany:
        adTypes:
            targetEntity: AdTypeTransl
            mappedBy: adTypeCat

在我的选择列表中,一次只能获得一个表值,如下所示:

<select>
    <option value="adType.id">adType.system_name</option>
</select>
但我真正需要的是:

<select>
    <option value="adType.id">adTypeTransl.name</option>
</select>

问题出在哪里?

您不使用symfony的翻译程序翻译这些值有什么具体原因吗?你可以注册你的翻译从AdTypeTransl奇怪的名字btw与翻译,你就这样做了。是的,这些类型将在以后的网页界面上动态添加。
<select>
    <option value="adType.id">adTypeTransl.name</option>
</select>