当将数据存储到数据库时,我有一个syncPermission在laravel上的角色问题,错误看起来像这样调用未定义的方法SpatiePermissionModelsRole::syncPermission(),当我在种子器上使用此方法时,其工作正常。也许我漏掉了什么重要的东西。所以我需要你的帮助。提前谢谢你
这是我的控制器代码
public function store(Request $request){
$validator = Validator::make($request->all(),[
'name' => 'required|unique:roles,name',
'permission' => 'required|min:1'
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
$role = Role::create([
'name' => $request->name,
'guard_name' => 'api'
]);
$role->syncPermission($request->permission);
if($role) {
//return success with Api Resource
return new RoleResource(true, 'Succes', $role);
}
//return failed with Api Resource
return new RoleResource(false, 'Failed', null);
}
就像:
$role->syncPermissions($request->permission);
不
$role->syncPermission($request->permission);
直接使用:syncPermissions(你漏掉了's')