关于 in_array () expects parameter 2 to be array, object given
很多时候都会报这个错误,解决方法就是看你的视图与控制器中的方法是否吻合!
举个例子吧:
控制器:
public function edit($id)
{
$user = $this->user->find($id);
$roles = $this->role->all();roles();
return view('users.edit', compact('user', 'roles', 'userRoles'));
}
视图(会报标题错误):X
<div class="form-group"> @foreach($roles as $role) X <?php $checked = in_array($role->id, $userRoles->lists('id')); ?> <div class="checkbox"> <label> {!! Form::checkbox('role[]', $role->id, $checked) !!} {{ $role->display_name }} </label> </div> @endforeach </div>
<div class="form-group"> @foreach($roles as $role) 修改-><?php $checked = in_array($role->id, $userRoles->lists('id')->all()); ?> <div class="checkbox"> <label> {!! Form::checkbox('role[]', $role->id, $checked) !!} {{ $role->display_name }} </label> </div> @endforeach </div>