我有以下实体,主要属性为:
Station和Institute从Location“继承”:这两个表中的任何location_id引用Location表中的id。
正如您所猜测的那样,我们的想法是,不同类型的位置具有共同的特征(在位置中收集),但也有独立的位置(在Station和Institute表中收集)。
我还有一个实体“物品”,无论是车站还是研究所,物品都可以放置并移动到某个位置。
因此,在我的“移动项目”表单中,我需要在下拉列表中显示所有位置以选择所需的位置。为此,我使用GenemuFormBundle - select2。
我的问题:我想显示:
我知道“选择”下拉列表中显示的内容由“属性”选项决定:
$builder->add('location', 'genemu_jqueryselect2_entity', array(
'class' => 'MyBundle:Location',
'property' => 'labelSelect2',
'query_builder' => function(LocationRepository $lr) {
return $lr->createQueryBuilder('l')
->orderBy('l.name', 'ASC');}
))
“labelSelect2”指的是我的实体Location的函数getLabelSelect2()。 但不幸的是,即使我知道location.type,我也不知道如何从函数Location :: getLabelSelect2()访问station.trigram或institute.abreviation 。
知道怎么做吗?