使用Laravel 5.4,我需要验证用户表上的电子邮件字段是否仅在role_id字段不是999时才是唯一的。
在注册控制器中,我这样做了:
return Validator::make($data, [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => [
'required',
'email',
'max:255',
Rule::unique('users')->where(function($query) {
$query->where('role_id', '<>', 999);
})
],
'phone' => 'required|phone',
'password' => 'required|min:6|confirmed'
]);
但是当我尝试注册时,我收到了这个错误:
Class&#39; App \ Http \ Controllers \ Auth \ Rule&#39;找不到
我做错了什么?
谢谢
答案 0 :(得分:2)
在命名空间声明后,您必须在文件顶部包含Rule
类,并使用 use :
use Illuminate\Validation\Rule;