使用Symfony2删除数组选择中的默认optgroup标签“0”

使用Symfony2删除数组选择中的默认optgroup标签“0”,symfony,select,label,default,optgroup,Symfony,Select,Label,Default,Optgroup,我有一个显示下拉菜单的表单,可以从params.yml中定义的数组中选择单个值 下拉列表将“0”显示为要选择的值列表上方的optgroup标签 如何删除此默认标签?您可以用标准小时和下面定义的其他小时之类的内容替换默认OptGroup $category_choices = array( 'Standard Hours' => array( 2 => '2', 4 => '4', 6 =

我有一个显示下拉菜单的表单,可以从params.yml中定义的数组中选择单个值

下拉列表将“0”显示为要选择的值列表上方的optgroup标签


如何删除此默认标签?

您可以用标准小时和下面定义的其他小时之类的内容替换默认OptGroup

$category_choices = array(
          'Standard Hours' => array(
            2 => '2',
            4 => '4',
            6 => '6',
            8 => '8'
          ),
          'Other Hours' => array(
            1 => '1',
            3 => '3',
            5 => '5',
            7 => '7',
            9 => '9',
            10 => '10'
          )
        );

        $builder
            ->add('hours', 'choice', array(
              'choices' => $category_choices
         ));
或者,如果您根本不需要OptGroup标签,并且只需要可选择的条目,则可以完全跳过嵌套数组

$builder
    ->add('hours', 'choice', array(
    'choices' => array(
        1 => '1',
        2 => '2',
        3 => '3',
        4 => '4'
    )
));
在您的情况下,您需要以下内容:

$builder
    ->add('hours', 'choice', array(
    'choices' => arrayFromParamsYML
));

谢谢,但在我的例子中,我根本不需要optgroup标签,因为我知道数组必须来自params.yml,因为我以几种不同的形式使用它的值。知道吗?我的第二段代码解释了如何不使用opt组。