0

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

User, ACT1, ACT2, ACT3

Jhon---x--------0--------0

x- 复选框被选中

0-复选框未选中

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

User, ACT1, ACT2, ACT3

Jhon---0--------0--------0

(我按保存按钮)活动没有更新。$_POST 是空的,我认为控制器中没有绑定。单个复选框由 form_widget 以这种方式生成:

input type="checkbox" name="users_activities[users][0][activities][1][enabled]" value="1" checked="checked"

知道如何解决吗?

看法:

{%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();
4

0 回答 0