2016-03-08 77 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