Laravel验证和更新记录

时间:2015-05-10 17:44:36

标签: mysql laravel unique-constraint

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

我的问题是:

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

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

我正在使用laravel的unique:table_name验证器。我想知道如果用户想要更新他们的记录,是否会引发错误。

1 个答案:

答案 0 :(得分:2)

为了更新,您需要添加该记录的id以强制验证者忽略给定id的唯一性,例如:

"unique:table_name,field_name,1" // Here 1 is the id to update that record

在这种情况下,例如,如果你有这样的东西:

'email' => 'unique:users,email_address,10'

然后Laravel将不会检查标识为10的记录的唯一性,并且您需要在更新ID为10的记录时设置此规则。希望对你有意义。请阅读Laravel website关于此的更多信息。

相关问题