У меня есть две колонки в таблице под названием expired(boolean)
и expire_date(timestamp)
. Я запускаю планировщик для проверки того, истек ли срок действия купона или нет в everyMinute()
при обновлении значений столбца expired
с использованием foreach, я обнаружил, что его изменение значения столбца expired_date с текущей датой. Я нашел это странным или может быть я баловаться с пропуском ссылочной вещь .. вот кодlaravel eloquent query builder обновление пользовательского временного поля без какой-либо логики
$schedule->call(function() {
CoursePromotion::where('expired',0)
->whereDate('expire_date','<',Carbon::today())
->update(['expired' => 1]);
})->everyMinute();
вот результат,
DB перед обновлением
DB после запуска команды php artisan schedule:run
Может ли кто-нибудь сказать мне, почему expired_date был обновлен с сегодняшней датой?
Использовать 'Carbon :: now()', а не 'Carbon :: today()', второй возвращает дату, а не фактическое время – Vuldo