Laravel 中每种类型用户的唯一电子邮件

Unique email with each type of user in Laravel

我想用同一个邮箱注册多个不同类型的用户

例如 1@gmail.com 输入 1 2@gmail.com 输入 2

电子邮件将以类型为唯一条件。如果类型不是输入

,我该如何编写规则

这是我的代码验证器,但它失败了,因为类型不是输入

    public function rules()
    {
        return [
            'name' => 'required|min:3',
            'password' => 'required',
            'phone' => 'required|unique:users|numeric',
            'email' => [
                'required',
                'email',
                Rule::unique('users')
                    ->where('type', $this->type)
            ]
        ];
    }
        $validate = [
            'name' => 'required|min:3',
            'password' => 'required',
            'phone' => 'required|unique:users|numeric',
            'plan_name' => [
                'required',
                'email',
                Rule::unique('users')->where(function ($query) use ($request) {
                  return $query->where('type', $request->type);  
                })                    
            ]
        ];

        $this->validate($request, $validate);

我认为这会有所帮助