2016-03-08 56 views
0

我有一个symfony 2.7和form的非常简单的问题:Formbuilder,我有“选择”类型和两个类似的标签(但不同的键)。 Symfony只打印一个标签。你可以帮我吗 ?Symfony只返回一个选择

 $builder->add('droit', 'choice', array(
     'label' => 'Droits', 
     'expanded' => true, 
     'multiple' => true, 
     'choices' => array("a" => "test", "b" => "test"), 
     'mapped' => false 
    )); 

我只有一个“测试”枝条形式......但我有两个关键。

回答

-1

使用“choices_as_values” =>假或改变选择阵列的格式:阵列(“测试” =>“一”,“测试” =>“B”)

+0

在你的例子中,第一个值被覆盖。 – Heah

+0

这与'array(“test”=>“b”)'相同。 – Heah

+0

你是对的。你试过'choices_as_values'=> false或'choices_as_values'=>是真的吗? –

1

只应通过模型值的选择和使用选项choice_label

$builder->add('droit', 'choice', array(
    'label' => 'Droits', // Global label of the choice field 
    'expanded' => true, 
    'multiple' => true, 
    'choices' => array("a", "b"), // Your choice model values 
    'choices_as_values' => true, // forward compatibility with symfony3 
    'choice_label' => function() { 
     return 'Droit'; // Each choice label 
    }, 
    'mapped' => false, 
)); 

official doc