@Baklajan888

Как решить проблему с БД?

Доброго времени суток!
Проблема заключается в том, что запрос к БД не успевает обрабатываться, и при повторном запросе учитывается старое значение. Чаще всего она возникает в тот момент, когда пользователь отправил несколько запросов одновременно.

Пример:
SB94jOh.png

Должно быть так:
piIAEeQ.png

Мой код:
IfUrTPa.png

Можете подсказать, что я делаю не так и как решить проблему?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Нужно начать транзакцию и залочить юзера перед чтением и проверкой баланса, в конце операции - зафиксировать транзакцию.
https://laravel.com/docs/8.x/database#manually-usi...
https://laravel.com/docs/8.x/queries#pessimistic-l... (lockForUpdate())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы