2 回答

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
發(fā)出命令
php artisan make:command UpdateUserNotNew
在該類 app/Console/Commands/UpdateUserNotNew.php 中設(shè)置命令名稱:
protected $signature = 'cron:update-user-not-new';
根據(jù)處理方法:
public function handle()
{
Customer::whereDate('created_at', '>', now()->addDays(7)->toDateTimeString())
->update([
'new_customer_status' => null
]);
}
在 app/Console/Kernel.php 中的schedule()方法下添加以下行:
protected function schedule(Schedule $schedule)
{
$schedule->command('cron:update-user-not-new')->daily(); //<--- this line
}
為了使所有這些工作正常,您必須在服務(wù)器上啟用 crontab,該信息位于 Laravel 文檔中:https://laravel.com/docs/7.x/scheduling#introduction

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您必須將查詢放入排隊(duì)作業(yè)中。然后,您可以安排該作業(yè)在一周后運(yùn)行。
這是文檔中給出的示例,就在這里:https ://laravel.com/docs/7.x/queues#delayed-dispatching
ProcessPodcast::dispatch($podcast)->delay(now()->addMinutes(10));
ProcessPodcast
工作等級在哪里。我將讓您進(jìn)一步深入文檔以了解如何創(chuàng)建作業(yè),但這確實(shí)非常簡單明了。當(dāng)然,就您的情況而言,您可能應(yīng)該這樣做now()->addWeek()
而不是now()->addMinutes(10)
.
- 2 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)