data as $r) { $cid = (int) $r->city_id; $name = $r->city_name; if ($cid === -1) { $province = [ 'city_name' => $name, 'no_mission_count' => (int) ($r->no_mission_count ?? 0), 'out_of_area_count' => (int) ($r->out_of_area_count ?? 0), ]; continue; } if (!isset($grid[$cid])) { $grid[$cid] = [ 'city_name' => $name, ]; } $grid[$cid]['no_mission_count'] = (int) ($r->no_mission_count ?? 0); $grid[$cid]['out_of_area_count'] = (int) ($r->out_of_area_count ?? 0); } $exportRows = []; if ($province) $exportRows[] = $province; foreach ($grid as $row) { $exportRows[] = $row; } return view('v3.Reports.Mission.Report.ProvinceActivityReport', [ 'rows' => $exportRows, ]); } public function registerEvents(): array { return [ AfterSheet::class => function (AfterSheet $event) { $event->sheet->getDelegate()->setRightToLeft(true); }, ]; } /** * @throws Exception */ public function drawings(): array { $drawing = new Drawing(); $drawing->setName('Logo'); $drawing->setDescription('This is my logo'); $drawing->setPath(public_path('/dist/logo.png')); $drawing->setWidth(50); $drawing->setHeight(50); $drawing->setOffsetX(5); $drawing->setOffsetY(5); $drawing->setCoordinates('A1'); $drawing2 = new Drawing(); $drawing2->setName('Logo'); $drawing2->setDescription('This is my logo'); $drawing2->setPath(public_path('/dist/141icon.png')); $drawing2->setWidth(50); $drawing2->setHeight(50); $drawing2->setOffsetX(5); $drawing2->setOffsetY(5); $drawing2->setCoordinates('C1'); return [$drawing, $drawing2]; } }