我有一个如下表
id | name | pic | level | team
1 John 3 user
2 Ipsum 4 user
3 Lorem 5 supervisor
4 Dolor Amet 5 admin
5 Amet manager 3,4
6 Diego 7 user
7 Michael 5 supervisor
我想作为用户ID 5,显示我可以在复选框值中看到的团队,并在复选框中进行编辑或更改。我已经尝试过,但这是错误的。已被检查的用户ID 3也再次显示为未经检查的值,例如
因此视图必须像ipsum(选中)和dolor(未选中)一样,
这是刀片视图代码
@foreach($supervisor as $spv)
<div class="checkbox">
@foreach($result as $res)
@if($spv->id == $res->id)
<label>
<input type="checkbox" name="spv[]" value="{{ $spv->id }}" checked>{{ $spv->name }}
</label>
@else
<label>
<input type="checkbox" name="spv[]" value="{{ $spv->id }}">{{ $spv->name }}
</label>
@endif
@endforeach
</div>
@endforeach
这是控制器代码
$query = DB::table('users')->where('id',$id)->first();
$list=explode(',', $query->team);
$result = DB::table('users')->whereIn('id',$list)->get();
$supervisor = Users::where('level','supervisor')->orWhere('level','admin')->get();
您知道失踪者在哪里吗?
答案 0 :(得分:1)
您可以尝试以下方法:
在您的控制器中,压缩$list
变量,因为它是团队ID的数组:
$query = DB::table('users')->where('id',$id)->first();
$list=explode(',', $query->team);
$result = DB::table('users')->whereIn('id',$list)->get();
$supervisor = Users::where('level','supervisor')->orWhere('level','admin')->get();
return view('your-blade-view', compact('result', 'supervisor', 'list'));
然后在您的刀片式服务器中:
@foreach($supervisor as $spv)
<div class="checkbox">
<label>
<input type="checkbox" name="spv[]" value="{{ $spv->id }}" {{ ( in_array($spv->id, $list) ) ? 'checked' : '' }}>{{ $spv->name }}
</label>
</div>
@endforeach
我希望这会有所帮助。