在我数据库的用户表中,我在 email
和 telephone
列上设置了唯一的键约束,以防止重复。
我的问题是:
当用户想要更新他们的记录时会发生什么?当他们提交相同的电子邮件时,它会抛出错误。当他们尝试使用其他人的电子邮件时会发生什么?
问这个问题的原因是我在我的表单上使用一个请求来检查用户输入与数据库中的现有记录。
我正在使用 laravel 的 unique:table_name
验证器。我想知道如果用户想要更新他们的记录,这是否会引发错误。
最佳答案
为了更新,您需要添加该记录的 id
以强制验证器忽略给定的 id
以确保唯一性,例如:
"unique:table_name,field_name,1" // Here 1 is the id to update that record
在这种情况下,例如,如果你有这样的东西:
'email' => 'unique:users,email_address,10'
那么 Laravel
将不会检查 ID 为 10
的记录的唯一性,您需要在更新 ID 为 10
的记录时设置此规则>。希望它对你有意义。在 Laravel website 上阅读更多内容关于这个。
关于mysql - Laravel 验证和更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154590/