如何更新 Laravel 集体中的唯一字段? [复制]
Posted
技术标签:
【中文标题】如何更新 Laravel 集体中的唯一字段? [复制]【英文标题】:How to update unique field in Laravel collective? [duplicate] 【发布时间】:2019-06-04 00:36:23 【问题描述】:我有一个用户管理面板,管理员可以在其中创建更新用户,而用户有一个独特的电子邮件字段。当我不想更改电子邮件地址时更新它应该是原样。但向我抛出错误,例如:The email has already been taken.
我已经试过了:
How to prevent insert email if already exist with specific id in laravel?
https://laravel.com/docs/5.2/validation#rule-unique
和我的用户模型规则
'email' => 'required|unique:users,email,$user->id'
我在这里缺少什么? 请帮忙
【问题讨论】:
我觉得更新用户的电子邮件地址不是一个好主意。这样,您将永远不会在表单中包含该字段。 可能会提供更多有关您为什么要这样做的背景信息。 【参考方案1】:如果用户只更改名称字段而不更改电子邮件字段,您不希望抛出验证错误,因为用户已经是电子邮件地址的所有者。
你可以像这样使用:
'email' => [
'required',
Rule::unique('users')->ignore($user->id),
],
阅读 强制使用唯一规则以忽略给定 ID 部分: LINK
【讨论】:
以上是关于如何更新 Laravel 集体中的唯一字段? [复制]的主要内容,如果未能解决你的问题,请参考以下文章