首页 > 解决方案 > laravel如何处理并发请求

问题描述

我正在为问答游戏开发 API,其中有 3 个表:

1)游戏:这里存储的各种游戏

2)Player: 参与各种游戏(game_id foreign_key)的玩家及其回合数

3)答案:这里将存储用户的答案

现在,当游戏开始时,问题将显示给 turn_number 为 1 的玩家,玩家将提交答案。之后,下一个问题将显示给 turn_number 2 的玩家,玩家将提交答案。

现在,我们有一条生命线,如果下一个玩家没有提交他/她的答案,那么前一个玩家可以撤销他们的选择。因此,如果第 2 回合的玩家未提交答案,则第 1 回合的玩家可以撤销他/她的选择并更改他们的答案。

但我的问题是当第 1 回合的玩家点击撤消和第 2 回合的玩家同时提交答案时。因此,我的数据变得不一致。

我想决定哪个请求首先出现,当撤消请求正在进行时,没有人可以提交答案,或者当提交答案请求正在进行时,没有人可以撤消。

我该如何处理这种情况?请帮忙。

注意:撤消/提交答案时,多张表会发生变化,而不是一张表。

标签: databaselaraveleloquent

解决方案


推荐阅读