繁体   English   中英

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

[英]Laravel loop through all data in database through schedule command

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

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

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

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

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

DB::table('users')->orderBy('id')->chunk(100, function ($users) {
    foreach ($users as $user) {
        //
    }
});

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM