public function recapSchoolGeneration() { $educations = Education::with('school')->where('project_id', '=', Auth::user()->curr_project_id)->groupBy('school_id')->get(); $generations = Generation::all(); $menu = 'report'; $schools = array(); foreach ($educations as $education) { $statistics = array(); foreach ($generations as $generation) { $count = School::with(array('educations', 'educations.issues'))->join('educations', 'educations.school_id', '=', 'schools.id')->join('issues', 'issues.id', '=', 'educations.issue_id')->where('issues.generation_id', '=', $generation->id)->where('schools.id', '=', $education->school_id)->count(); $statistics[] = array('count' => $count); } $schools[] = array('id' => $education->school_id, 'name' => $education->school->name, 'statistics' => $statistics); } return View::make('reports.recapschoolgeneration', compact('schools', 'generations', 'menu')); }