whereHas('category', function($query) { $query->where('will_be_shipped', 1); })->whereHas('tracks', function($query) { $query->where('status_id', 3)->where('created_at', '<=', \Carbon\Carbon::now()->subDays(7)->toDateTimeString())->where('created_at', '>=', \Carbon\Carbon::now()->subDays(30)->toDateTimeString()); })->whereDoesntHave('tracks', function($query) { $query->where('status_id', 4); })->where('status','publish')->orderBy('id')->chunk(10, function ($job_requests) { foreach ($job_requests as $key => $job_request) { $diff = (\Carbon\Carbon::parse($job_request->track->created_at))->diffInDays(\Carbon\Carbon::now()); \Log::info('Asin:'.$job_request->asin.' Diff Days: '.$diff); if($diff % 7 == 0){ $this->sendJobRequestReminder('Product Shipped',$job_request->creator, $job_request->asin); \Log::info('Successfully sent Product Shipped Email for asin:'.$job_request->asin); } } }); } }