Как осуществить выборку новых данных из базы данных?

Как можно обработать как существующие, так и новые записи из таблицы chats, если они могут появиться во время цикла обработки коллекции?
  • 26 марта 2024 г. 13:39
Ответы на вопрос 2
Для осуществления выборки новых данных из базы данных можно использовать различные методы. Например, если используется SQL база данных, то можно написать запрос на выборку данных с условием, что значение в определенном столбце больше чем значение последнего выбранного идентификатора.

Если нужно обработать как существующие, так и новые записи из таблицы chats, то одним из способов может быть использование транзакций. В рамках транзакции можно сначала выбрать все существующие записи из таблицы chats, обработать их, а затем начать новую транзакцию и выбрать только те записи, которые появились после начала первой транзакции. Таким образом, можно гарантировать обработку только новых записей, которые появились во время цикла обработки коллекции.
Вам нужно создать event при вставке новой записи и при его срабатывании запрос будет выполняться. То есть, делаем событие на вставку новой записи. Слушаем событие в нужном компоненте и если оно срабатывает обновляем запрос. 
Подробнее вот тут:
https://laravel.com/docs/11.x/events
Похожие вопросы