Laravel自动更新数据库

时间:2015-12-22 10:41:07

标签: php database laravel

我使用Laravel创建了会员系统,我想知道如何自动更新"活动"日期过期时的列。

我的表:

membership(id, dateBegin, dateEnd, active)

当(dateEnd> NOW)active = 0

感谢' S

1 个答案:

答案 0 :(得分:3)

由于您使用Laravel,您可以使用其任务计划来完成此任务。请参阅文档的Defining Schedules部分。

基于给出的示例,您可以执行类似

的操作
<?php

namespace App\Console;

...

class Kernel extends ConsoleKernel
{
    ... 

    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            DB::table('membership')->whereRaw('dateEnd > now()')->update(['active' => 0]);
        })->daily();
    }
}

我还没有对上述内容进行测试,但它应该可以按照您的要求运行。