使用 Laravel-modules 模块化开发,模块内模型策略 policy 不会使用,有图和代码,求指导
不使用模块化时,可使用policy模型策略,但模块化开发时,便不能正常使用
前端页面错误提示
BadMethodCallException
Method Modules\Admin\Http\Controllers\UserController::authorize does not exist.
Admin模块下UserController.php控制器部分代码
public function update(UserRequest $request, User $user)
{
//
$this->authorize('update', $user);
...
}
Admin模块下UserFactory.php部分代码
public function update(User $user, User $model)
{
//
return $user->is_admin || $user->id == $model->id;
}
public function delete(User $user, User $model)
{
//
return $user->is_admin && $user->id != $model->id;
}
views视图模板文件部分代码
@can('update', $user)
<button class="btn btn-default rounded-0" type="button" data-toggle="modal"
data-target="#editUser{{$user['id']}}">编辑</button>
@endcan
推荐文章: