我有一个计费应用程序,其中我有一个用于计费的表,一个用于计费编号的表,因为用户可以有一个以上的计费编号,每个编号都有自己的连续编号,所以当用户要创建一个计费时,他选择编号,在前端,系统显示将创建该计费的可能的连续编号,这是“可能的”,因为如果另一个用户在他之前创建了一个计费,他将分配连续编号。因此,最终在后端使用以下代码分配连续数:
...
$numbering = BillingNumbering::find($request->billing_numbering);
$number = $numbering->current_number + 1;
$billing->number = $number;
$numbering->current_number = $number;
$numbering->used = true;
$numbering->save();
$billing->save();首先获取帐单编号,然后获取当前编号并加1,然后立即更新表格以备将来的请求。
问题是,在某些情况下,当多个用户正在工作并且几乎同时保存一个计费时,计费采用相同的计费号码,在连续计费中产生重复。
我怎样才能在没有数字重复的情况下做到这一点?
发布于 2020-11-12 01:50:12
您可以使帐单号码唯一。如果我假设这是你真正的代码。为什么你要先保存“编号”而不是“计费”。
https://stackoverflow.com/questions/64789488
复制相似问题