Я пытаюсь выполнить многопользовательский процесс, в настоящее время он работает отлично, у меня сейчас проблема в том, что мне нужно выполнить многопользовательский процесс ...
У меня есть система онлайн-счетов который предлагает доступный номер счета, проблема в том, что если два или более пользователя входят одновременно, как я могу убедиться, что сохраняются разные номера счетов?
В моей модели модели Cotizacion.php
class Cotizacion extends Model
{
protected $table = 'cotizaciones';
public $primaryKey = 'id';
public static function rules($cotizacion){
$est=Cotizacion::where('n_cotiz',$cotizacion)->first();
return $est;
}
}
В моем контроллере:
public function savecoti(Request $request){
$posinum="00001$numerocotitiaguardar";
$p=1;
do{
$regla=Cotizacion::rules($posinum);
if($regla){
$limpiarproximo=ltrim($numerocotitiaguardar,"0");
$limpiarproximo = $limpiarproximo +1;
$valorproximo = str_pad($limpiarproximo, 8, "0", STR_PAD_LEFT);
$posinum="00001$valorproximo";
$esta=1;
}else{
$esta=0;
$limpiarproximo=ltrim($valorproximo,"0");
$valorproximo = str_pad($limpiarproximo, 8, "0", STR_PAD_LEFT);
$numerocotities ="$sucursaltalonario$numerocotitiaguardar";
$buscarencryp = new VProximo($valorproximo);
$encriptacion= $buscarencryp->vervalor();
$proximonumero = implode($encriptacion);
$cotizacionsave->n_cotiz = $numerocotities;
}
}while ($esta==1);
$cotizacionsave->save();
$idcoti = $cotizacionsave->id;
}
Как я уже сказал, он работает хорошо, но у меня проблема, если есть несколько пользователей одновременно, что мне нужно делать или изучать, чтобы гарантировать что я не сохраняю тот же номер?