whereHas('projects') ->with('projects') ->get(); foreach ($users as $user) { foreach ($user->projects as $project) { $filters = new ReportFilters(); $filters->entityTypes = ['phases', 'features', 'inspections', 'issues', 'tasks']; $generator = new ReportGenerator($project, $filters); $data = $generator->generate(); Mail::to($user)->send(new \App\Mail\ScheduledReportMail( $project, $user, $data, $filters )); } } } }