gpt4 book ai didi

mysql - 当当前日期超过表中的特定日期时,Laravel 自动更新表中的字段

转载 作者:行者123 更新时间:2023-11-29 09:49:01 25 4
gpt4 key购买 nike

当当前日期大于表中的另一个特定字段时,我尝试更新数据库表中的特定字段。

我的表“任务”:

id |..... | startDate  | endDate   | status
---|------|------------|-----------|--------
1 |..... | 2019/03/13 | 2019/03/14| Process

因此,如果当前日期时间 > endDate,则无需任何点击,自动实时将状态更新为“已过期”。

我确实在 Kernel.php 中创建了一个调度程序,但没有任何反应。我的调度程序:

 $schedule->call(function () {
DB::table('tasks')->whereDate('endDate', '<', date('Y/m/d H:i'))->update(['status', 'Expired']);
})->everyMinute();

我的结束日期值和格式:

2019/03/12 17:00

提前谢谢

P.S - 我没有使用 Carbon

最佳答案

我建议使用调度程序,并运行使用DB的简单命令。您可以每隔几分钟运行该任务,它就会完成工作。

DB::table('task')->whereDate('endDate', '<', now())->update(['status' => 'expired']);

如果您不想使用 Carbon,只需将 now() 更改为 date('Y-m-d H:i:s')

记住添加单个 cron 条目来启动调度程序。

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

关于mysql - 当当前日期超过表中的特定日期时,Laravel 自动更新表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55164922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com