我在请求字段中的验证有问题,我使电子邮件是唯一的,当我添加新行时,它运行得很好,但当我更新它们时,我有问题,这是因为用户数据库,所以我如何在更新步骤中忽略电子邮件字段?
这是我的验证行:'电子邮件'=>'必需|唯一:用户,电子邮件'
实际上,我正在添加员工并自动添加用户,所以我现在正试图将验证添加到员工请求中,同时找到一个解决方案,可以在上进行更新时忽略电子邮件
非常感谢。
如果当前用户触发了唯一要求,则更新验证规则以忽略该要求:
'email' => 'required|email|unique:users,email,'.auth()->user()->id,
以上内容将防止其他用户将其电子邮件更改为数据库中存在的电子邮件,但是,当他们只是更新自己的信息时,不会触发unique
错误。
'email' => 'unique:users,email_address,'.$user->id
您可以从控制器共享您的更新方法来查看您的查询吗。我认为您的更新查询不是从请求中获取电子邮件,而是添加了旧的电子邮件。在这种情况下,若更新查询可以工作,它不应该显示唯一的错误。因此,您的查询一定不是在更新,而是在向字段中添加新条目。从验证中删除unique,并检查它是在添加新条目还是在更新条目。如果它正在添加新条目,那么您应该重试查询。但如果你能在这里分享你的更新方法,那会很有帮助。