symfony表单构建器更新选项字段

时间:2014-06-13 10:25:17

标签: symfony symfony-forms

添加后可以更新选项字段吗?

$builder
    ->add('examens', 'entity', array(
        'class' => 'TelegrammeExamenBundle:ExamExamen',
        'property'  => 'libelle',
        'required'    => true,
        'empty_value' => 'Sélectionnez un examen',
        //'data' => $this->em->getReference("TelegrammeExamenBundle:ExamExamen", 510),
        'data' => null,
        'query_builder' => function(ExamenRepository $r) {
            return $r->getSelectList();
        },
        'attr' => array('class' => 'bg_white_filet_gris')
    ))
;

如何修改字段选项??? (setOption不存在)

if (...) $builder->get('examens')->setOption('property', 'test');

1 个答案:

答案 0 :(得分:9)

您可以再次->add()。正如API文档建议的add方法: 在表单中添加或替换子项

http://api.symfony.com/2.8/Symfony/Component/Form/FormInterface.html#method_add

这可用于修改表单元素,例如在FormEvent


或者 FormBuilder提供setAttribute()方法,可按以下方式使用:

$builder->get('examens')->setAttribute('property', 'test');