2013-03-03 62 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