首页 > 解决方案 > 我想检查用户之前是否使用过已知凭证

问题描述

嗨,希望你做得很棒。我正在使用 laravel 开发一个电子商务网站。我当前面临的问题是,我想将优惠券(10OFF)的使用限制为每个用户只能使用一次。但我无法完成这项任务。我有三张桌子

现在如果我这样做

$coupon->users()->exists()

它可以工作,但问题是,如果我使用另一个用户的 id 登录,它仍然会显示代码已被使用的错误,而代码是由 id 1 的用户使用而不是由 id 2 的用户使用

谁能帮助我实现这个目标?

标签: phplaraveleloquent

解决方案


您只需在检查中添加 where 子句即可仅过滤当前用户:

$coupon->users()->where('id', Auth::id())->exists();

推荐阅读