0

ユーザーエンティティとアクティビティがあります。ユーザーには多くのアクティビティがあります。フォームを作成しました->ユーザーとtheris activitis(チェックボックス)のリスト。

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