Возможно, Pessimisti c Блокировка
Конструктор запросов также включает несколько функций, которые помогут вам выполнить «блокировку pessimisti c» для операторов выбора. Чтобы выполнить оператор с «разделяемой блокировкой», вы можете использовать метод sharedLock для запроса. Общая блокировка предотвращает изменение выбранных строк до тех пор, пока ваша транзакция не зафиксируется:
DB::table('users')->where('votes', '>', 100)->sharedLock()->get();
В качестве альтернативы, вы можете использовать метод lockForUpdate. Блокировка «для обновления» предотвращает изменение или выбор строк с помощью другой общей блокировки:
DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();
https://laravel.com/docs/master/queries#pessimistic -lock