Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当两个或三个用户同时请求时,我有重复的ID_Php_Mysql_Laravel 5 - Fatal编程技术网

Php 当两个或三个用户同时请求时,我有重复的ID

Php 当两个或三个用户同时请求时,我有重复的ID,php,mysql,laravel-5,Php,Mysql,Laravel 5,当两个或三个用户请求时,我获取最后一个ID并将其递增,并将其存储为发票的第二个ID,同时将重复的ID存储在DB中。这是密码 $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; } el

当两个或三个用户请求时,我获取最后一个ID并将其递增,并将其存储为发票的第二个ID,同时将重复的ID存储在DB中。这是密码

$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();
});

简单亲爱的,只需使用rand函数并在sesseion中赋值并保存它。MySQL可以返回插入查询中分配的自动增量id。你不应该自己计算