Установите флаг isopend в базе данных, используя laravel - PullRequest
0 голосов
/ 21 февраля 2020

У меня много документов на моем сервере, и в моей базе данных есть два столбца, которые содержат username и isopene[flag]. Пока пользователь просматривает документ, я устанавливаю эти значения в базе данных. Есть ли конкретная лучшая реализация в Laravel для таких сценариев ios?

1 Ответ

0 голосов
/ 21 февраля 2020

Возможно, 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...