当两个或三个用户同时请求它在数据库中存储重复的 ID 时,我获取最后一个 ID 并将其递增并将其存储为发票的第二个 ID。这是代码
$id_num = DB::table('slips')->latest('id')->first();
$now = \jDate::forge('now')->format('date');
$old = $id_num->date;
$slep_id = 0;
if($now>$old){
$slep_id = 1;
}
else{
$slep_id = $id_num->id_num+1;
}
$formatted_slep = sprintf("%04d",$slep_id);
现在,当我将其存储在数据库中时,有时它会重复
$slip = new Slip;
$slip->id = $formatted_slep;
$slip->save();
最佳答案
使用交易:
DB::transaction(function () {
$slip = new Slip;
$slip->id = $formatted_slep;
$slip->save();
});
关于php - 当两个或三个用户同时请求时,我就会有重复的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44899213/