select('user_id', 'created_at') ->orderBy('created_at') ->get(); // Mapping data menjadi [tanggal => [nama kurir, ...]] $presenceData = []; foreach ($presences as $presence) { $date = Carbon::parse($presence->created_at)->toDateString(); $name = $presence->user->name; // Hindari duplikat nama di tanggal yang sama if (!isset($presenceData[$date])) { $presenceData[$date] = []; } if (!in_array($name, $presenceData[$date])) { $presenceData[$date][] = $name; } $today = now()->format('Y-m-d'); $presensiRecords = Location::with('user') ->select('user_id', Location::raw('MIN(created_at) as check_in_time')) ->whereDate('created_at', $today) ->groupBy('user_id') ->get(); } return view('presensi.index', compact('presenceData', 'presensiRecords')); } }