用于更新另一个的选项标签


choice label for update another one

>我有一个包含 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>