今天调试出现了如下错误提示:
in_array() expects parameter 2 to be array
@foreach($permission as $value) <label>{{ Form::checkbox('permission[]', $value->id, in_array($value->id, $rolePermissions) ? true : false, array('class' => 'name')) }} {{ $value->display_name }}</label> <br/> @endforeach
经过调试dd($rolePermissions)的数据类型为collection而不是一个数组,便不能使用in_array();
于是改成如下:
@foreach($permission as $value) <label>{{ Form::checkbox('permission[]', $value->id, $rolePermissions->contains($value->id) ? true : false, array('class' => 'name')) }} {{ $value->display_name }}</label> <br/> @endforeach
即将 in_array($value->id, $rolePermissions)改为$rolePermissions->contains($value->id)