【问题标题】:Laravel Duplication Of dataLaravel 重复数据
【发布时间】:2021-06-08 23:10:33
【问题描述】:

我正在处理一个 laravel 项目,在提交表单时,我从列名 x 中获取一个值并将其递增 1 并提交,

它工作正常,但在生产中,当我打开两个浏览器并同时提交两个表单时 - 它会重复,我还添加了一个验证来检查唯一数据

但如果我一次提交多个表单,它将不起作用

我不是 laravel 方面的专家 - 我需要看悲观锁定吗??

有人可以给我一个建议吗?

【问题讨论】:

  • 几乎听起来你想要一个自动递增的列?
  • “它被复制”到底是什么意思?
  • @James 不是自动递增,需要获取列数据并使用算法递增
  • @MartinOsusky 不是自动增量,需要获取列数据并使用算法来增加它

标签: javascript php laravel laravel-5


【解决方案1】:

使用 laravel 的原子锁将数据锁定在唯一的数据点上。

一次只允许一个请求。

https://laravel.com/docs/8.x/cache#atomic-locks

【讨论】:

  • 谢谢你的回答,我还在用laravel 5,会支持吗
【解决方案2】:

另一种解决方案是将作业分派到一个队列中。在 Laravel 中,我更喜欢这种特殊的解决方案。

https://laravel.com/docs/8.x/queues#dispatching-jobs

【讨论】:

  • 感谢您的回答,当我提交时我需要向用户显示响应,所以我无法使用需要一些时间的队列,用户体验存在问题
猜你喜欢
  • 2019-04-11
  • 2019-07-08
  • 1970-01-01
  • 2018-06-16
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 2017-11-07
相关资源
最近更新 更多