如何让raravel在午夜将数据库中的行设置为特定值?

时间:2016-06-27 17:03:23

标签: php laravel

我在mysql数据库中有一个表,我希望每个午夜都将该表中的一行设置为false。

我将如何做到这一点?

2 个答案:

答案 0 :(得分:1)

创建控制器功能并在午夜执行。 假设你有ScheduleController

class ScheduleController extends Controller {
  public function resetDataBase()
  {
    //write query here to change the table row.
    //You may use raw queries
  }
}

然后在App\Console\Kernel.php

中调用此函数
protected function schedule(Schedule $schedule)
{
  $schedule->call('\App\Http\Controllers\ScheduleController@resetDataBase')
    ->dailyAt('00:00');
}

在您托管应用程序的服务器上,您必须设置crontab条目

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

有关详细信息,请参阅docs

答案 1 :(得分:0)

您可以将任务设置为在午夜运行,并在该任务中执行您想要执行的任何操作。查看任务计划here的文档。