isEmpty() || $classRooms->isEmpty() || $students->isEmpty()) { return; } // Distribusikan siswa ke kelas secara merata $studentsPerClass = ceil($students->count() / $classRooms->count()); $studentChunks = $students->chunk($studentsPerClass); foreach ($academicYears as $academicYear) { $classIndex = 0; foreach ($studentChunks as $studentGroup) { // Pastikan kita tidak melebihi jumlah kelas yang tersedia if ($classIndex >= $classRooms->count()) { break; } $classRoom = $classRooms[$classIndex]; foreach ($studentGroup as $student) { ClassStudent::firstOrCreate([ 'class_room_id' => $classRoom->id, 'student_id' => $student->id, 'academic_year_id' => $academicYear->id, ]); } $classIndex++; } } } }