我正在关注这篇文章,为 Spatie/permissions 提供前端 UI。
我能够理解每个部分,但我无法理解特定部分,
请导航到角色部分,(请搜索“ roles.edit ”,它将直接转到该部分)
在编辑视图中,作者正在使用代码,
<h5><b>Assign Permissions</b></h5>
@foreach ($permissions as $permission)
{{Form::checkbox('permissions[]', $permission->id, $role->permissions ) }}
{{Form::label($permission->name, ucfirst($permission->name)) }}<br>
@endforeach
我的理解是表单集合使用第三个参数作为检查字段。
当我运行传递给第三个字段的输出时
{{$角色->权限}}
我得到这种格式的结果
[{"id":1,"name":"Permission","guard_name":"web","created_at":"2019-08-04 05:53:14","updated_at":"2019-08- 04 05:53:14","pivot":{"role_id":9,"permission_id":1}},
我不确定 laravel 集体如何解析结果。
用于编辑的作者控制器
public function edit($id) {
$role = Role::findOrFail($id);
$permissions = Permission::all();
return view('roles.edit', compact('role', 'permissions'));
}
这是我克服这个问题的方法,顺便说一句,我没有使用集体
我的编辑控制器
public function edit($id)
{
$role = Role::find($id);
$roles_permissions = Role::findByName($role->name)->permissions;
$permissions = Permission::all();
return view('admin.userrole.role.edit', compact('role', 'permissions','roles_permissions'));
}
我的刀片文件
<h4>Assign Permission</h4>
<div class='form-group'>
<p>
Existing Permissions:
@foreach ($roles_permissions as $item)
<span class="badge badge-success"> {{$item->name}}</span>
@endforeach
</p>
</select>
</div>
我确信这不是实现这一目标的正确方法。请让我知道如何在选择字段中填充权限。
注意:如果提出问题,请发表评论为什么。这样我就可以改进我的演讲。我很欣赏你的努力。谢谢
不负相思意