Php 在MySQL中,如何在过期日期后更新列?
我正在开发laravel 5应用程序。我有一个包含如下字段的表: 表名:应用程序Php 在MySQL中,如何在过期日期后更新列?,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,我正在开发laravel 5应用程序。我有一个包含如下字段的表: 表名:应用程序 应用程序状态tinyint(1) 到期日日期时间(从今天起20天) 在任何过期日期过后,如何更新表中每一行的应用程序状态 当过期日期为空时,我如何使什么都不发生(问题是一旦接受应用程序,过期被禁用或设置为空) 与拉雷维尔密切合作。您可以安排一个函数来检查这一点,并根据需要进行更改,或者创建artisan命令并安排这一点—由您选择 你真的需要先尝试一下,然后如果你遇到麻烦,把你的代码贴在哪里,我们才真正为你回答这
- 应用程序状态tinyint(1)
- 到期日日期时间(从今天起20天)
- 在任何过期日期过后,如何更新表中每一行的应用程序状态
- 当过期日期为空时,我如何使什么都不发生(问题是一旦接受应用程序,过期被禁用或设置为空)
app/Console/Kernel.php
:
//Rest of file above
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$applications = ModelName::where('expiration_date', '<=', \Carbon\Carbon::now())->get();
foreach($applications as $application)
{
//Update each application as you want to
$application->application_status = 'example';
$application->save();
}
})->daily();
}
//Rest of file below
//上面文件的其余部分
受保护功能计划(计划$schedule)
{
$schedule->call(函数(){
$applications=ModelName::where('expiration_date'),请尝试编写它并将其包含在问题中。然后您肯定会得到帮助解决此问题。感谢@James的输入。我正在考虑安排mysql事件,但您的方法似乎更有希望。我会尝试一下,看看我得到了什么。gracias。