我有一个用户管理面板,管理员可以在其中创建更新用户,并且用户具有唯一的电子邮件字段。在更新时,如果我不想更改电子邮件地址,则应保持原样。但会向我抛出类似The email has already been taken.
我已经尝试过:
和我的用户模型规则
'email' => 'required|unique:users,email,{$user->id}'
我在这里想念什么? 请帮助
答案 0 :(得分:1)
如果用户仅更改名称字段而不是电子邮件字段,则您不希望引发验证错误,因为用户已经是电子邮件地址的所有者。
您可以这样使用:
'email' => [
'required',
Rule::unique('users')->ignore($user->id),
],
在“ 强制使用唯一规则忽略给定ID”部分下阅读: LINK