Php Symfony 2实体字段类型,带有原则querybuilder和leftjoin
我需要一些关于Symfony 2实体类型字段的帮助。我有一个带有表单生成器的索引函数: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
$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>