Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将任务状态自动更新为';逾期';?_Php_Laravel - Fatal编程技术网

Php 如何将任务状态自动更新为';逾期';?

Php 如何将任务状态自动更新为';逾期';?,php,laravel,Php,Laravel,我在一个系统中工作,在这个系统中,用户可以创建任务,选择任务的截止日期,将任务标记为完成,并查看日历或列表中的所有任务。基本上,每个任务都有“到期日”、“完成”和“过期”字段。我有以下代码来检查哪些任务已过期: foreach(Task::all() as $task){ if($this->due_date->isPast() && !$this->done){ $task->overdue = 1;

我在一个系统中工作,在这个系统中,用户可以创建任务,选择任务的截止日期,将任务标记为完成,并查看日历或列表中的所有任务。基本上,每个任务都有
“到期日”
“完成”
“过期”
字段。我有以下代码来检查哪些任务已过期:

    foreach(Task::all() as $task){
        if($this->due_date->isPast() && !$this->done){
            $task->overdue = 1;
            $task->save();
        }
    }
但是,我不知道该将其放置在何处,以便在不手动复制并粘贴到控制器的每个功能中的情况下保持数据的最新状态(这也会使程序在数据堆积时速度极慢)。有什么想法吗


谢谢你的帮助

您可以制作一个这样做的作业,并让调度程序安排它在您希望的任何时候运行。。。您还可以进一步筛选此查询,使其仅搜索到期日已过且尚未标记为已完成的记录,并可以一次更新所有记录。您可以使用
过期
日期保存任务信息。然后,您可以创建laravel命令并每天运行,并检查它是否已过期,然后我将更新,否则将离开任务。或者,您可以在处理索引页的控制器中运行该代码(每个登录用户),然后再将发送到用户索引页的任务拉入。