public static function search($search_text, $search_state, $search_level) { $current_ay = AcademicYear::getCurrentAcademicYear(); if (!$current_ay) { return null; } if ($search_level) { return Enrollment::join('students', 'students.id', '=', 'enrollments.student_id')->where(function ($query) use($search_text) { $query->where('names', 'LIKE', "%{$search_text}%")->orWhere('lastname', 'LIKE', "%{$search_text}%"); })->where('enrollments.academic_year_id', '=', $current_ay->id)->where('enrollments.level_id', '=', $search_level)->where('enrollments.state', '=', $search_state)->orderBy('enrollments.date')->select('enrollments.*'); } else { return Enrollment::join('students', 'students.id', '=', 'enrollments.student_id')->where(function ($query) use($search_text) { $query->where('names', 'LIKE', "%{$search_text}%")->orWhere('lastname', 'LIKE', "%{$search_text}%"); })->where('enrollments.academic_year_id', '=', $current_ay->id)->where('enrollments.state', '=', $search_state)->orderBy('enrollments.date')->select('enrollments.*'); } }