code, $row->name, $row->department->name, $row->educationLevel->name, $row->educationForm->name, $row->budget_places, $row->quota, $row->paid_places, $row->cost_paid_place, $row->period, implode("; ", $row->directionProfiles), implode("; ", $row->egeCompulsory), implode("; ", $row->egeOptional), implode("; ", $row->spo), implode("; ", $row->magistracy), ] // $row->entranceExaminations->name, ]; } public function prepareRows($rows) { return $rows->transform(function ($direction) { $profilesNames = []; foreach ($direction->directionProfiles as $profile) { $profilesNames[] = $profile->name; } $direction->directionProfiles = $profilesNames; $egeCompulsory = []; $egeOptional = []; $spo = []; $magistracy = []; foreach ($direction->entranceExaminations as $examination) { $subject = $examination->subject->name; $scores = $examination->scores; if ($examination->examinationType->name === 'ЕГЭ') { if ($examination->subjectType->name === 'Обязательные') { $egeCompulsory[] = "{$subject} ({$scores})"; } elseif ($examination->subjectType->name === 'Предметы по выбору') { $egeOptional[] = "{$subject} ({$scores})"; } } elseif ($examination->examinationType->name === 'СПО') { $spo[] = "{$subject} ({$scores})"; } elseif ($examination->examinationType->name === 'магитсратура') { $magistracy[] = "{$subject} ({$scores})"; } } $direction->egeCompulsory = $egeCompulsory; $direction->egeOptional = $egeOptional; $direction->spo = $spo; $direction->magistracy = $magistracy; return $direction; }); } }