1

と というテーブルに 2 つの列がありexpired(boolean)ますexpire_date(timestamp)。foreach を使用しeveryMinute()て列の値を更新しているときに、クーポンの有効期限が切れているかどうかを確認するスケジューラを実行しています。expired私はこれが奇妙だと思った、または参照渡しのものを台無しにしている可能性があります..ここにコードがあります

$schedule->call(function () {
            CoursePromotion::where('expired',0)
                ->whereDate('expire_date','<',Carbon::today())
                ->update(['expired' => 1]);
      })->everyMinute();

これが結果です。

更新前DB

ここに画像の説明を入力

php artisan schedule:runコマンド実行後のDB

ここに画像の説明を入力

expire_date が今日の日付で更新された理由を誰か教えてもらえますか?

4

1 に答える 1