常量表达式包含无效的操作和表达是不允许的默认值错误

时间:2019-02-01 19:57:06

标签: laravel laravel-5

我使用laravel 5.7,我试图指定的验证规则,当用户更新他们的电子邮件的电子邮件必须是唯一的,但如果其为当前用户相同的电子邮件忽略此规则。我试图将用户ID传递到规则,但它不工作

我得到的错误:

  

常量表达式包含无效的操作

     

不允许将表达式作为默认值

private $updateValidationRules =
 [
    'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'."$this->id"],
    'name' => ['required', 'string', 'max:255'],
];

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

尝试一下

 'email' => [
        'required','string', 'email', 'max:255',
        Rule::unique('users')->ignore($user->id),
    ],