2013-03-03 99 views
4

我有一個控制器定義如下形式:複選框中的symfony 2種形式

$addForm = $this->createFormBuilder() 
      ->add('userIds', 'collection', array(
       'type' => 'checkbox', 
       'allow_add' => true, 
       'options' => array(
        'required' => false 
       ) 
      )) 
      ->add('userId', 'hidden') 
      ->getForm(); 

鑑於我顯示與體數據網格刪除選項。我正在使用knp paginator進行分頁。我手動渲染字段在視圖中,如下:

//Inside loop 
{%for items in pagination %} 
<input type="checkbox" name="form[userIds][]" class="ids" value="{{items.id}}"/> 
{%endfor%} 

我在控制器發佈請求如下後獲取數據:

var_dump($data['userIds']); 

當用戶選擇假設三個複選框,我得到輸出作爲如下:

array (size=4) 
0 => boolean true 
1 => boolean true 
2 => boolean true 
3 => boolean true 

這些值應該包含userIds像1,5,6,7,但我只獲得布爾值。我做錯了什麼?

回答

1

考慮使用Entity field type:使用expandedmultiple屬性進行調整,您將獲得一個複選框列表,這些複選框將在提交時綁定到您的模型模式。

+0

是否有可能沒有實體字段類型 – sonam 2013-03-03 11:54:15

+0

我不知道,但爲什麼要做的事情困難? ; )) – moonwave99 2013-03-03 12:09:12

+1

我不想運行查詢來獲取所有用戶。 – sonam 2013-03-03 12:32:43