4

我在控制器中定义了一个表单,如下所示:

$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

这些值应该包含像 1,5,6,7 这样的用户 ID,但我只得到布尔值。我做错了什么?

4

1 回答 1

1

考虑使用实体字段类型:使用expandedmultiple属性进行调整,您将获得一个复选框列表,这些复选框将在提交时绑定到您的模型架构。

于 2013-03-03T11:39:55.687 回答