为多个设置为true的symfony选项字段设置默认数据

时间:2015-07-07 07:36:32

标签: forms symfony checkbox default-value

我正在尝试使用复选框呈现一个选择字段,我希望在编辑模式下,这可以让用户先前检查的数据意味着设置默认数据的方法。以下代码不起作用。请有人帮忙。谢谢

$days = array("monday" => "monday","tuesday" => "tuesday");
$builder->add('channels', 'choice', array(
            'choices' => array(
                'days'  => $days,                
            ),
            'multiple' => true,
            'expanded' => true,
            'required' => true,
            'data' => array("choices" => array("days" => array("monday")))
        ));

3 个答案:

答案 0 :(得分:4)

我认为这应该有效:

$builder->add(
    'channels',
    'choice',
    array(
        ...
        'data' => array("monday"),
    )
)

答案 1 :(得分:3)

这个为我工作(Symfony 2.3.x):

$days = array("monday" => "Monday","tuesday" => "Tuesday","wednesday" => "wednesday","thursday" => "thursday");
    $builder->add('channels', 'choice', array(
        'choices' => array(
            'days'  => $days,                
        ),
        'multiple' => true,
        'expanded' => true,
        'required' => true,
        'data' => array("wednesday","thursday","tuesday")
    ));  

注意:使用键索引设置数据而不是值。 “星期二”不会像“星期二”那样在这里工作。

答案 2 :(得分:-1)

删除数据数组中的choices键:

$builder->add( 'channels', 'choice', array( ... 'data' => array("monday") ) );