>我有一个包含 4 个促销的选择标签,来自促销实体的字符
$builder->add('Promotion', EntityType::class, array(
'class' => 'AppBundle:Promotion',
'choice_label' => 'promotionName',
))
在下一个选择标签中,我想显示每个促销活动的学生,在学生实体 A 中有一个外键来影响每个学生的晋升
当我选择示例2015年促销时,所有学生都将此外键记入第二个标签选择等
你基本上要求一个动态choice_label
,这很容易,因为Symfony 2.7:http://symfony.com/blog/new-in-symfony-2-7-choice-form-type-refactorization
'choice_label' => function(Promotion $promotion) {
return $promotion->getName() . ': ' . implode(', ', array_map(function(User $user) {
return $user->getName();
}, $promotion->getUsers());
}
这将返回一个标签,其中包含促销名称,后跟其用户:
<label>Holiday promotion: John Doe, Jane Doe</label>