我使用laravel 5.7,我试图指定的验证规则,当用户更新他们的电子邮件的电子邮件必须是唯一的,但如果其为当前用户相同的电子邮件忽略此规则。我试图将用户ID传递到规则,但它不工作
我得到的错误:
常量表达式包含无效的操作
不允许将表达式作为默认值
private $updateValidationRules =
[
'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'."$this->id"],
'name' => ['required', 'string', 'max:255'],
];
我在做什么错了?
答案 0 :(得分:0)
尝试一下
'email' => [
'required','string', 'email', 'max:255',
Rule::unique('users')->ignore($user->id),
],