阅读(1432) (7)

Laravel 8 无需传递模型的方法

2021-06-29 16:33:52 更新

一些策略方法只接收当前经过身份验证的用户,而不接收它们授权的模型的实例。这种情况在授权 create 操作时最为常见。例如,如果您正在创建博客,您可能希望检查用户是否被授权创建任何帖子。

当定义不接收模型实例的策略方法时,例如 create 方法,它将不接收模型实例。相反,您应该将方法定义为只期望经过身份验证的用户:

/**
 * 确定给定用户是否可以创建帖子
 *
 * @param  \App\Models\User  $user
 * @return bool
 */
public function create(User $user)
{
    //
}