I need to update all the records where update_at and current time have a difference greater than 24 hours. Actually I am updating the business as feature only for 24 hours after that businesses will automatically will be unsubscribed from feature. So I want to updated all the businesses like this.
Business::where('is_featured', true)
->whereDate('updated_at', '<', now()) // need to calculate difference of 24 hours
->update(['is_featured' => false]);
CodePudding user response:
Using carbon, substract 24 hours
Business::where('is_featured', true)
->whereDate('updated_at', '<', now()->subHours(24))
->update(['is_featured' => false]);
or subDay()
Business::where('is_featured', true)
->whereDate('updated_at', '<', now()->subDay())
->update(['is_featured' => false]);