Как поставить begintransaction в очередь?

111
16 сентября 2019, 02:00

Как поставить begintransaction в очередь? Ребят, приветствую. Вопрос по транзакциям: Есть скрипт, который изменяет ячейку. Но дело в том, что если я например делаю одновременный запрос с двух устройств, то один запрос(который первее) выполняется, а второй нет. А нужно чтобы выполнялись оба, только в порядке очереди. Как правильно реализовывать подобное. Не нашел информации по этому вопросу, а может просто не правильно задал вопрос.

DB::beginTransaction();
$balanceNow = Users::find(Auth::id());
if ($balanceNow < $request->sum) {
  return Response::json([
     "errors" => ["Ошибка"]
  ], 422);
}
$response = json_decode(Wallet::send($request->address, $request->sum));
//записи в базе
if ($response->desc == 'OK') {
   DB::commit();
}else{
   DB::rollBack();
}

Заранее премного благодарен за наводку в этом вопросе.

Answer 1

Begintransaction не нужно ставить в очередь. Транзакции ставятся в очередь автоматически, и ждут завершения предыдущей.

READ ALSO
Php or Python for Web? [закрыт]

Php or Python for Web? [закрыт]

Какой язык на данный момент лучше подходит,например, для написания соцсети? Php или Python?

140
SOAP + PHP(Laravel)

SOAP + PHP(Laravel)

Кто нибудь может подсказать логику SOAP, нужно интегрировать в сайт платежку онлайн, скинули wsdl файл от процессинга, я его загрузил в soapui, увидел...

150
Yii2 открывается только главная страница

Yii2 открывается только главная страница

сайт находится на VPS, первый раз не правильно настроил сервер, а именно с виртуальными хостами не мог совладать, по этому сайт был залит в корень...

117
mongodb сравнение полей

mongodb сравнение полей

есть два поля 'first' , 'second' ,не посоветуете как сравнить их в коллекции 'collection'Чтобы выводило только те записи, где first не равняется second

140