我需要一些Symfony 2实体类型字段的帮助。我有一个带表单生成器的indexAction函数:
$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”。
ADTYPE: id,system_name
1 | sell
2 | rent
AdTypeTransl: id,lang,ad_type,name
1 | hr | 1 | Prodaja
2 | hr | 2 | Najam
如您所见,我想将adTypeTransl留在adType中,并显示ID值为Adtype和AdTypeTransl文本的选择列表。
我使用YML生成实体。这就是我现在所拥有的。
AdType
oneToMany:
adTypes:
targetEntity: AdTypeTransl
mappedBy: adTypeCat
和
AdTypeTransl
manyToOne:
adTypeCat:
targetEntity: AdType
inversedBy: adTypes
joinColumn:
name: ad_type
referencedColumnName: id
我只能在我的选择列表中获得一个表值,如下所示:
<select>
<option value="adType.id">adType.system_name</option>
</select>
但我真正需要的是:
<select>
<option value="adType.id">adTypeTransl.name</option>
</select>
问题出在哪里?