Laravel 验证和更新记录

Laravel validation and updating a record

在我的数据库中的用户 table 中,我在 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 上阅读更多内容。