我有用户实体和活动。用户有很多活动。我创建了一个表单 - >用户列表和theris activitis(复选框)。
User, ACT1, ACT2, ACT3
Jhon---x--------0--------0
选中x-复选框
0-复选框未选中
当我有上述数据并按下保存按钮时,Everythings工作正常,但是当我想取消选中所有活动时:
User, ACT1, ACT2, ACT3
Jhon---0--------0--------0
(我按下保存按钮)激活不会更新。 $ _POST是空的,我认为控制器中没有bindig。 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();