为Symfony类型中的每个复选框生成数据属性

时间:2017-01-16 16:11:18

标签: symfony symfony-forms

 ->add('research_subject', EntityType::class, array(
    'mapped' => false,
    'class' => Subject::class,
    'label' => 'Research Subject',
    'expanded' => true,
    'multiple' => true,
    'query_builder' => function (EntityRepository $er) {
        $db = $er->createQueryBuilder('w');
        $db ->where($db->expr()->andX(
            $db->expr()->isNotNull('w.pid')
        ));
        $db->orderBy('w.pid', 'ASC');

        return $db;
    },
    'choice_label' => 'name_system',
))

我需要添加到每个复选框的数据属性。这有可能吗?

我需要在后面的枝条中添加额外的复选框。我需要在单独的div部分中按pid值对复选框进行分组。

2 个答案:

答案 0 :(得分:1)

'choice_attr' => function($val, $key, $index) {
    return ['data-pid' => $val->getPid()];
},

我使用此作为解决方案,例如https://stackoverflow.com/users/4224384/yceruto 建议。

答案 1 :(得分:0)

您可以使用“choice_attr”选项:

[...]
        'expanded' => true,
        'multiple' => true,
        'choice_attr' => function($val, $key, $index) {

            return ['data' => $key];
        },
[...]