我有编辑按钮,看起来像这样
<a class="btn btn-primary" href="{{ route('admin.roles.edit',$role->id) }}">Edit</a>
路线
Route::get('roles/{id}/edit',['as'=>'admin.roles.edit','uses'=>'RoleController@edit','middleware' => ['permission:role-edit']]);
和RoleController @编辑功能
public function edit($id)
{
$role = Role::find($id);
$permission = Permission::get();
$rolePermissions = DB::table("permission_role")->where("permission_role.role_id",$id)
->pluck('permission_role.permission_id','permission_role.permission_id')->toArray();
return view('backend.roles.edit',compact('role','permission','rolePermissions'));
}
然而,我有toArray()
RoleController.php第88行中的FatalThrowableError:
在数组
上调用成员函数toArray()
我已尝试->all()
,->get()
仍然无效。任何帮助表示赞赏
Log::info
返回此
[2017-06-20 13:23:57] local.INFO: array (
5 => 5,
6 => 6,
7 => 7,
9 => 9,
10 => 10,
11 => 11,
12 => 12,
13 => 13,
)
更新: 我在我的视图中有这个,它应该显示分配给此角色的所有权限
@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($permission)
也返回正确的数组。
答案 0 :(得分:1)
是的,@aynber
说的是什么。
线索在错误消息
中“在数组”
上调用成员函数toArray()
当它已经是array
时,您正尝试转换为array
。
答案 1 :(得分:1)
您无需使用->toArray()
,因为结果已经array
或collection
更正确了!
答案 2 :(得分:1)
您正在使用
普拉克
如果你想使用toArray,那么使用
获取
如下:
$rolePermissions = DB::table("permission_role")->where("permission_role.role_id",$id)
->get(array('permission_role.permission_id','permission_role.permission_id'))->toArray();