*/ $newsListToPublish = News::query() ->where('published_at', '<=', Carbon::now()) ->whereNotNull('published_at') ->where('status', NewsStatusEnum::unpublished) ->get(); Log::debug(__CLASS__ . " news to publish " . $newsListToPublish->count()); foreach ($newsListToPublish as $news) { $news->status = NewsStatusEnum::published; $news->saveQuietly(); } // Unpublish all publish models if the unpublished_at date has passed. /** @var \Illuminate\Database\Eloquent\Collection */ $newsListToUnPublish = News::query() ->where('unpublished_at', '<=', Carbon::now()) ->whereNotNull('unpublished_at') ->where('status', NewsStatusEnum::published)->get(); Log::debug(__CLASS__ . " news to unpublish " . $newsListToPublish->count()); foreach ($newsListToUnPublish as $news) { $news->status = NewsStatusEnum::unpublished; $news->saveQuietly(); } } }