2015-03-02 78 views
0

我對Symfony2表單感到陌生。我創建了一個帶有推動實體的表單,除了「選擇」(選擇)字段以外,值都沒有問題,它們沒有選定的值。symfony2:選擇字段的選定值

我試着一些技巧,如:

$params['choices'] = array('N/A'=> 'N/A'); 
$params['data'] = array('N/A'); 
$params['preferred_choices'] = array('N/A'); 

即使這樣,也沒有預選值。怎麼了 ?

回答

2

對於默認選定項目,您可以使用data屬性。 $param['data'] = 'N/A' 這是抽象的「場」類型的一部分?

富勒示例形式中,

$form = $this->createFormBuilder() 
     ->add('category', 'choice', array(
      'choices' => array(
       0 => 'Books', 
       1 => 'Electronics', 
       2 => 'Hardware` 

      ), 
      'data' => 1 
     )) 
     ->getForm(); 

在這個例子中,當形式加載電子應該被選擇爲默認選項

+0

這樣做,我有以下錯誤: 可捕獲的致命錯誤:參數1傳遞給Symfony \ Component \ Form \ Extension \ Core \ ChoiceList \ SimpleChoiceList :: __ construct()必須爲數組,字符串給定,調用在第176行中的C:\ Users \ ng4196c \ Workspaces \ inside \ inside_portal \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ Extension \ Core \ Type \ ChoiceType.php中,並且定義爲 的確,構造函數是: 公共職能__construct(數組$選擇,數組$ preferredChoices =陣列()){ ... 請 – Rolintocour 2015-03-02 08:17:13

+0

在這裏分享你的代碼段 – Nisam 2015-03-02 08:18:31

+0

可以ü請分享你的'form'建設者 – Nisam 2015-03-02 08:26:47

0
'empty_value' => 'Select Choice', 

$builder->add('gender', 'choice', array(
    'choices' => array('m' => 'Male', 'f' => 'Female') 
    'empty_value' => 'Select Choice', 
)); 
0

我終於解決了我的問題。有兩件事: *使用Firefox重新加載,之前選擇的值似乎保留,所以我沒有真正測試更改,直到我關閉當前選項卡並重新打開一個; *我將單維數組作爲「選擇」字段的值傳遞,因此Symfony2將其重新索引爲整數,並且我的實體字符串值無法合併爲字段的symfony2整數值。