如何在Laravel+;灯塔图?

如何在Laravel+;灯塔图?,laravel,graphql,laravel-lighthouse,Laravel,Graphql,Laravel Lighthouse,在切换到Lighthouse之前,我曾经有这样的验证规则: Rule::unique('users', 'name')->where('site_id', $this->route()->parameter('site')->id)->ignore($this->route()->parameter('user')->id), 因此,在检查用户名是否唯一之前,我需要选择具有特定site\u id的用户。现在我有以下突变: updateUser(

在切换到Lighthouse之前,我曾经有这样的验证规则:

Rule::unique('users', 'name')->where('site_id', $this->route()->parameter('site')->id)->ignore($this->route()->parameter('user')->id),
因此,在检查用户名是否唯一之前,我需要选择具有特定
site\u id
的用户。现在我有以下突变:

updateUser(
    name: String! @rules(apply: ["App\\Rules\\UniqueUserName"])
): User! @update

但是我应该如何提供
site\u id
site\u id
应被视为只读属性)以及如何在自定义验证规则
UniqueUserName
中访问它?

复杂的验证逻辑可以通过扩展
ValidationDirective
类来实现

然后可以像在laravel标准请求验证中一样,在
rules()
方法中编写规则。参数可通过
$this->args['site\u id']
获得

更多信息: