国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Laravel 在日期到期后自動更改數(shù)據(jù)庫中的狀態(tài)
P粉447002127
P粉447002127 2023-12-15 13:36:40
0
3
667

我有 tasks 表,該表有 statusdeadline 列。當當前日期大于任務截止日期時,如何將狀態(tài)自動更改為“已過期”? Laravel 中有實時事件監(jiān) 聽器嗎?

我想這就是事件監(jiān) 聽器類應該是什么樣子,但我不確定下一步該做什么。

<?php
 
namespace AppEvents;
 
use AppModelsTask;
use IlluminateBroadcastingInteractsWithSockets;
use IlluminateFoundationEventsDispatchable;
use IlluminateQueueSerializesModels;
 
class DeadlineExpired
{
    use Dispatchable, InteractsWithSockets, SerializesModels;
 
    /**
     * The task instance.
     *
     * @var AppModelsTask
     */

    public $task;
 
    /**
     * Create a new event instance.
     *
     * @param  AppModelsTask $task
     * @return void
     */
    public function __construct(Task $task)
    {
        $this->task = $task;
    }
}


P粉447002127
P粉447002127

全部回復(3)
P粉683665106

有實時事件偵聽器,但需要執(zhí)行操作才能觸發(fā)。例如,當創(chuàng)建、更新或刪除模型時,就會觸發(fā)這些事件。

沒有內(nèi)置的“偵聽器”來 ping 每個等待您定義的字段更改的模型。

如果您想在任務過期時觸發(fā)進一步的邏輯(例如發(fā)送電子郵件),那么您最好使用調(diào)度程序檢查是否有任何新的過期任務。 調(diào)度程序每分鐘運行一次 - 由 cron 設置。

P粉092778585

因為您只檢查日期。你的 cron 只需要在午夜運行一次。使用 Laravel Scheduler 來完成您的工作。 首先創(chuàng)建一個類

class UpdateTasks
{
    public function __invoke()
    {
        // do your task here...e.g.,
        Tasks::whereDate('deadline','update(['status'=>'expired']);
    }
}

然后在你的app\Console\Kernel.php中,schedule方法-

$schedule->call(new UpdateTasks())->daily();

最后在您的服務器上配置一個 cron 作業(yè)以每天午夜運行計劃命令。

php artisan schedule:run
似水

你的問題我用GPT幫你解答? 希望有用?

606915a3b01db9aab05d290248494e3.jpg

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板