laravel - 在刀片中动态创建复选框
问题描述
我正在准备在我的刀片中创建复选框列表,其中包含我在DB
. 我正在循环获取所有角色,以及是否检查角色是否有我正在编辑的这个用户:
@foreach($roles as $rol)
@foreach ($selRoles as $role)
@if ($role == $rol->id)
<div class="col-md-4">
<input type="checkbox" name="rol" checked=checked class="form-check-input" value="{{ $rol->id }}" id="{{ $rol->id }}">
{{ $rol->name }}
</div>
@else
<div class="col-md-4">
<input type="checkbox" name="rol" class="form-check-input" value="{{ $rol->id }}" id="{{ $rol->id }}">
{{ $rol->name }}
</div>
@endif
@endforeach
@endforeach
使用此代码,我的问题是我的所有角色都重复了。在我的控制器中,我有这个:
public function edit(User $usuario)
{
$roles = Bouncer::role()->orderBy('title', 'DESC')->get();
$selRoles = $usuario->roles->pluck('id')->toArray(); //selRoles it´s roles from user
$usuario->load('roles');
return view('admin.empleados.edit', compact('usuario', 'roles','selRoles'));
}
并在刀片中返回它:
teleoperadora
teleoperadora
teleoperadora
repartidor
repartidor
repartidor
prueba
prueba
prueba
Jefe de equipo
Jefe de equipo
Jefe de equipo
jefa-sala
jefa-sala
jefa-sala
instalador
instalador
例如。我不知道在我的刀片中获得这个结果是我做的不好。任何人都可以帮助我吗?
感谢阅读和帮助。对不起我的英语不好
解决方案
您的角色会重复,因为您使用了两个foreach
循环。您选择的角色是一个数组,因此检查角色-> id 是否在该数组中就足够了:
@foreach($roles as $role)
<div class="col-md-4">
<input type="checkbox" name="rol" @if(in_array($role->id, $selRoles))checked=checked@endif class="form-check-input" value="{{ $role->id }}" id="{{ $role->id }}">
{{ $role->name }}
</div>
@endforeach
如果角色的 id 在您的选定角色数组中,该部分@if(in_array($role->id, $selRoles))checked=checked@endif
将选中复选框。
推荐阅读
- javascript - mediaDevices API 打开了错误的相机,有没有办法设置你要使用哪个相机?
- python - 比较没有相同 csv 文件标题的两列,并使用 Python 3.8 输出匹配值
- javascript - 如何拥有多个 Flip Card 3D only CSS
- javascript - 将字符串数组传递给 JavaScript indexOf()?示例:str.indexOf(arrayOfStrings)?
- javascript - 如何使用express,ejs将函数从.js模块导入节点js中的另一个.js模块
- javascript - 如何连接两个reactjs页面并显示相同的数据
- docker - Docker 中的 Xdebug CLI
- reactjs - 如何在我的 koa-server 上执行外部 api 请求,它使用 @shopify/koa-shopify-auth
- html - 如何更改导航栏上的颜色?
- vba - 基于输入日期的 Microsoft Access DLookup