And*_*mes 2 php laravel blade laravel-5 laravel-5.5
我有以下代码与Form Collective包一起使用,但由于尚未针对5.5更新包,因此现在无法正常工作.我也在使用Spatie的Laravel Permission包
我的代码是
@foreach ($permissions as $permission)
{{Form::checkbox('permissions[]', $permission->id, $role->permissions ) }}
{{Form::label($permission->name, ucfirst($permission->name)) }}<br>
@endforeach
Run Code Online (Sandbox Code Playgroud)
我认为这只是循环通过permissions,如果permission属于当前role检查框.
如何在不使用包装的情况下实现这一目标?
我目前试过了
@foreach ($permissions as $permission)
<div class="checkbox">
<label>
{{ ucfirst($permission->name) }}
</label>
<input type="checkbox" name="permissions[]" value="{{ $permission->id }}">
<br>
</div>
@endforeach
Run Code Online (Sandbox Code Playgroud)
但我不确定如何根据角色是否在列表中具有权限来附加checked属性.
只需将该checked属性添加到复选框HTML:
<input type="checkbox" name="permissions[]" value="{{ $permission->id }}" checked>
Run Code Online (Sandbox Code Playgroud)
如果您需要在条件上设置它,请使用以下代码:
<input type="checkbox" name="permissions[]" value="{{ $permission->id }}" @if(/* some condition */) checked @endif>
Run Code Online (Sandbox Code Playgroud)
编辑
因为在我添加一些细节之前我不明白这个问题.
假设您的Role模型具有附加权限的集合,并且它存储在$role->permissions您可以执行的属性中
<input type="checkbox" name="permissions[]" value="{{ $permission->id }}" @if($role->permissions->contains($permission)) checked @endif>
Run Code Online (Sandbox Code Playgroud)
这样,您可以检查您的角色是否具有id权限$permission->id.
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |