php - 我想检查用户之前是否使用过已知凭证
问题描述
嗨,希望你做得很棒。我正在使用 laravel 开发一个电子商务网站。我当前面临的问题是,我想将优惠券(10OFF)的使用限制为每个用户只能使用一次。但我无法完成这项任务。我有三张桌子
- 用户表
- 优惠券表
- 优惠券_用户表
现在如果我这样做
$coupon->users()->exists()
它可以工作,但问题是,如果我使用另一个用户的 id 登录,它仍然会显示代码已被使用的错误,而代码是由 id 1 的用户使用而不是由 id 2 的用户使用
谁能帮助我实现这个目标?
解决方案
您只需在检查中添加 where 子句即可仅过滤当前用户:
$coupon->users()->where('id', Auth::id())->exists();
推荐阅读
- java - 带有输入的方法的 Java 单元测试
- typescript - 如何使用 TypeScript 从接口动态推断类型?
- jestjs - 使用 Jest 创建的部分模块模拟函数未被被测函数调用
- node.js - 如何实现对mongodb中重复数据的分页?
- c# - 如何在请求中显示所有语言?
- ruby-on-rails - webpacker 在生产中的所有文件都是未定义的
- cython - 如何使用 c++ std::merge 合并 cython 中的两个排序向量?
- java - Spring boot 2.0.5.RELEASE 和 mongo 4.0 连接问题
- swift - 模型 I/O – 如何使用 `makeVerticesUniqueAndReturnError()` 实例方法?
- objective-c - 显示可滚动项 Objective-C