userable; $subjects = $student->grade->subjects; $teachers = $student->grade->teachers; $teachers->each(function ($teacher) use ($subjects, $listSubjects) { $teacher->subjects->each(function ($subject) use ($subjects, $listSubjects, $teacher) { if ($subjects->contains($subject)) { $listSubjects->push(['subject' => $subject->name, 'teacher' => $teacher->fio]); } }); }); return Pdf::loadView('subjects.pdf', ['subjects' => $listSubjects])->download('Предметы.pdf'); } public function exportStudents(Grade $grade) { $excellentStudents = $this->getMinScore($grade, 5); $goodStudents = $this->getMinScore($grade, 4); return Pdf::loadView('grades.list-students', [ 'excellentStudents' => $excellentStudents, 'goodStudents' => $goodStudents, ])->download('Студенты.pdf'); } public function getMinScore(Grade $grade, $minScore) { return $grade->students->filter(function ($student) use ($minScore) { return $student->lessons->min('pivot.score') == $minScore; }); } }