Forms 如果未选中任何内容,则不会更新Symfony2形式的复选框

Forms 如果未选中任何内容,则不会更新Symfony2形式的复选框,forms,symfony,checkbox,Forms,Symfony,Checkbox,我有用户实体和活动。用户有很多活动。我已经创建了一个表单->用户和活动列表(复选框) 复选框被选中 0-复选框未选中 当我有上述数据并按下保存按钮时,一切正常,但当我想取消选中所有活动时: User, ACT1, ACT2, ACT3 Jhon---0--------0--------0 (我按下保存按钮)活动未更新$_帖子是空的,我想控制器中没有bindig。 form_小部件以以下方式生成单个复选框: input type="checkbox" name="users_activitie

我有用户实体和活动。用户有很多活动。我已经创建了一个表单->用户和活动列表(复选框)

复选框被选中

0-复选框未选中

当我有上述数据并按下保存按钮时,一切正常,但当我想取消选中所有活动时:

User, ACT1, ACT2, ACT3

Jhon---0--------0--------0
(我按下保存按钮)活动未更新$_帖子是空的,我想控制器中没有bindig。 form_小部件以以下方式生成单个复选框:

input type="checkbox" name="users_activities[users][0][activities][1][enabled]" value="1" checked="checked"
你知道怎么解决吗

视图:

控制器:

    $form->bindRequest($this->getRequest());
    foreach ($form->get('users') as $userF) {
        foreach ($userF->get('activities') as $actF) {
            $act = $actF->getData();
            $em->persist($act);
        }
    }
    $em->flush();

您可以发布呈现表单和控制器(或至少是操作)的php代码吗?在迭代之前,您应该检查
$form->get('users')
是否为空。
{%for actv in user.activities %}
    {{ form_widget(actv.enabled) }}
{%endfor%}
    $form->bindRequest($this->getRequest());
    foreach ($form->get('users') as $userF) {
        foreach ($userF->get('activities') as $actF) {
            $act = $actF->getData();
            $em->persist($act);
        }
    }
    $em->flush();