toDateTime()) ->whereNotNull('publish_at') ->whereStatus(false)->get(); Log::debug(__CLASS__ . " products to publish " . $productsToPublish->count()); foreach ($productsToPublish as $product) { $product->publish_at = null; $product->status = true; $product->saveOrFail(); } $productsToUnPublish = Product::where('unpublish_at', '<=', Carbon::now()->toDateTime()) ->whereNotNull('unpublish_at') ->whereStatus(true)->get(); Log::debug(__CLASS__ . " products to unpublish " . $productsToPublish->count()); foreach ($productsToUnPublish as $product) { $product->unpublish_at = null; $product->status = false; $product->saveOrFail(); } } }