$assignments */ public function write(Collection $assignments, string $absolutePath): void { $writer = new Writer; $writer->openToFile($absolutePath); $writer->addRow(Row::fromValues([ 'Pusat Mengundi', 'Saluran', 'Nama', 'Jawatan', 'Status Kehadiran', 'Masa Check-in', 'Catatan', ])); foreach ($assignments as $assignment) { $application = $assignment->application; $user = $assignment->user; $pusat = $assignment->pusatMengundi; $position = $assignment->position; $saluran = $assignment->saluranMengundi; $attendance = $assignment->attendance; $checkInTime = $attendance instanceof Attendance && filled($attendance->check_in_time) ? Carbon::parse($attendance->check_in_time)->format('d/m/Y H:i') : ''; $writer->addRow(Row::fromValues([ $pusat instanceof PusatMengundi ? $pusat->code.' - '.$pusat->name : '', $saluran instanceof SaluranMengundi ? $saluran->number : '', ($application instanceof Application ? $application->name : null) ?: ($user instanceof User ? $user->name : ''), $position instanceof Position ? $position->code : '', $attendance instanceof Attendance ? $attendance->status : 'not_recorded', $checkInTime, $attendance instanceof Attendance ? ($attendance->note ?? '') : '', ])); } $writer->close(); } }