Laravel 5.1 中如何在 Policy 中定义只需要一个参数的方法

使用Laravel5.1 自带的权限系统时,看文档中定义的方法都是两个参数的,而我需要一个方法判断用户是否具有发布文章的权限(create-article),而不是像文档中的这些方法一样:

    public function update(User $user, Post $post)
    {
        return $user->id === $post->user_id;
    }

都是需要两个参数的。像我这种需求该如何定义呢?我是通过判断用户是否具有某个权限来做的。

public function create-article(User $user) {
    return $user->hasPermission('artile.create');
}

但是我发现只有一个参数的情况下,模版中使用 @can('create-article') 或控制器中使用 $this->authorize('create-article') 都会返回false

阅读 3.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进