mysql - Laravel 验证和更新记录

标签 mysql laravel unique-constraint

在我数据库的用户表中,我在 emailtelephone 列上设置了唯一的键约束,以防止重复。

我的问题是:

当用户想要更新他们的记录时会发生什么?当他们提交相同的电子邮件时,它会抛出错误。当他们尝试使用其他人的电子邮件时会发生什么?

问这个问题的原因是我在我的表单上使用一个请求来检查用户输入与数据库中的现有记录。

我正在使用 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/

相关文章:

php - 时间戳不起作用

php - 在循环中的 php mysql 记录插入期间日期 22 个月递增

mysql - 从数据库中检索数据并将其发送到laravel中的ajax

mysql - MySQL 中的唯一约束

即使使用索引,Mysql 查询仍然很慢

php - 10分钟后删除所有记录

php - 在 Laravel 之外使用 Laravel 的容器

php - 在 PHP 中按日期对 MySQL 结果进行分组

xml - 我似乎无法为 XSD UNIQUE Con​​straint 获取正确的 XPATH

database - 违反唯一约束的行