【发布时间】:2014-06-19 11:13:15
【问题描述】:
我很难弄清楚如何重新填充包含复选框的表单以进行编辑。我认为最令人困惑的部分是因为它们来自数据透视表。
我有用户、权限和 users_permissions 表。
为了快速演示表格的外观,我运行了这个查询并包含了结果的屏幕剪辑。
return $userPermissions = User::with('permissions')->find($id);
在我的表单中,我现在只有两个权限复选框,直到我让这个概念起作用,然后我将添加一个 foreach 循环并从数据库中获取它们,但现在我有以下内容:
<div class="form-group">
<label>
{{ Form::hidden('permissions[4]', '0', ['class' => 'checkbox-inline']) }}
{{ Form::checkbox('permissions[4]', '1', ['class' => 'checkbox-inline']) }}
Manage Content
</label>
</div>
<div class="form-group">
<label>
{{ Form::hidden('permissions[3]', '0', ['class' => 'checkbox-inline']) }}
{{ Form::checkbox('permissions[3]', '1', ['class' => 'checkbox-inline']) }}
Manage Users
</label>
</div>
我不确定这是否是有用的信息,但是当我第一次创建用户时,我创建了一个权限数组以附加到新用户。这是代码,
public function createUserPermissionsArray($input)
{
$permissionsArray = [];
$permissions = $input['permissions'];
foreach ($permissions as $id => $value)
{
if ($value == 1)
{
array_push($permissionsArray, $id);
}
}
$this->saveNewUserToDatabase($input, $permissionsArray);
}
我真的需要一些关于如何解决这个问题的指导。谢谢
【问题讨论】:
标签: php mysql forms laravel laravel-4