2 回答

TA貢獻2019條經驗 獲得超9個贊
發出命令
php artisan make:command UpdateUserNotNew
在該類 app/Console/Commands/UpdateUserNotNew.php 中設置命令名稱:
protected $signature = 'cron:update-user-not-new';
根據處理方法:
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
}
為了使所有這些工作正常,您必須在服務器上啟用 crontab,該信息位于 Laravel 文檔中:https://laravel.com/docs/7.x/scheduling#introduction

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