您是否具有更改Laravel中特定表中所有记录的特定列的值的功能?

时间:2019-06-10 02:00:03

标签: php laravel

我将每天的信件数量限制为十个。但是我想每天午夜重置计数器。因此,我必须创建一个调度,但是首先,您是否具有从所有用户表中获取记录并将所有“ penpal_count”重置为零的功能?

如何填写计划代码?每天午夜使“ penpal_count”为零

1 个答案:

答案 0 :(得分:0)

使用php artisan make:command ResetCounter创建命令ResetCounter

 protected $signature = 'reset:counter';

 public function handle()
 {
    $users = User::all();
    foreach($users as $user)
    {
        $data['penpal_count'] = 0;
        $user->update($data);      
    }

}

然后在应用程序/控制台/内核中

protected $commands = [
        'App\Console\Commands\ResetCounter',
    ];


    protected function schedule(Schedule $schedule)
    {
        $schedule->command('reset:counter')->daily();

    }

最终设置crontab,就这样