Laravel цикл через все данные в базе данных с помощью команды расписания - PullRequest
0 голосов
/ 04 января 2019

Я ищу эффективный способ просмотреть все записи всех пользователей, проверить условие, и если условие выполнено, мне нужно отправить электронное письмо.

Эта задача должна выполняться ежедневнов определенное время.Поэтому задание cron будет выполняться в фоновом режиме.

Сейчас я заполняю все записи для базы данных и использую цикл for для проверки условия.Это работает нормально на данный момент.Но я не думаю, что это лучшее решение, когда данные начинают расти.

Есть идеи по использованию лимита для получения всей базы данных?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Решение очередь laravel .Вы можете проверить все данные и, если условие соответствует отправке и задержать процесс отправки почты в очередь. Учебник 1

0 голосов
/ 04 января 2019

Если у вас много записей, используйте чанк: https://laravel.com/docs/5.7/queries#chunking-results

DB::table('users')->orderBy('id')->chunk(100, function ($users) {
    foreach ($users as $user) {
        //
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...