Laravel通过调度命令遍历数据库中的所有数据

时间:2019-01-03 22:59:05

标签: mysql laravel eloquent

我正在寻找一种有效的方法来遍历所有用户的所有记录,检查条件以及是否满足条件,我需要发送电子邮件。

该任务将在每天的指定时间完成。因此,cron作业将在后台运行。

现在,我正在填充数据库的所有记录,并使用for循环检查条件。目前,它的工作正常。但是我不认为这是数据开始增长时的最佳解决方案。

关于使用限制获取整个数据库数据的任何想法吗?

2 个答案:

答案 0 :(得分:1)

如果您有很多记录,请使用块:https://laravel.com/docs/5.7/queries#chunking-results

Queryable.Where

答案 1 :(得分:0)

解决方案是laravel queue。您可以检查所有数据,以及条件是否匹配调度,并可以将发送邮件过程延迟到队列中。 Tutorial 1