first(); // Jika tahun angkatan tidak ada, buat baru if (!$tahunAngkatan) { $tahunAngkatan = TahunAngkatan::create([ 'tahun' => $row['angkatan'], ]); } $jenisProfesi = ucwords(strtolower(trim($row['jenis_profesi']))); $jenisProfesiValid = [ 'Programmer', 'Data Analyst', 'Business Intelligence Developer', 'Wirausaha', 'Non IT', 'Tidak diketahui', 'Tidak bekerja', 'Pelajar', 'Wirausaha IT', 'Infokom' ]; if (!in_array($jenisProfesi, $jenisProfesiValid)) { $jenisProfesi = 'Tidak diketahui'; // fallback default } // 3. Ambil ID jabatan dari nama (bukan langsung dari Excel) $jabatan = Jabatan::where('Kategori_bidang_kerja', $row['kelompok_jabatan'])->first(); $jabatanId = $jabatan ? $jabatan->id_kategori : null; // 4. Ambil ID kualifikasi bidang dari nama (bukan langsung dari Excel) $kualifikasi = KualifikasiBidang::where('kualifikasi_bidang', $row['kualifikasi_bidang_kerja'])->first(); $kualifikasiId = $kualifikasi ? $kualifikasi->id_kualifikasi : null; // Ambil ID angkatan yang ada $angkatanId = $tahunAngkatan->id_angkatan; return new DataAlumni([ 'nama' => $row['nama'], 'nim' => $row['nim'], 'angkatan' => $angkatanId, 'masa_tunggu' => $row['masa_tunggu'], 'pekerjaan' => $row['pekerjaan'], 'instansi' => $row['instansi'], 'link_linkedin' => $row['link_linkedin'] ?? '-', 'Jenis_profesi' => $jenisProfesi, 'lingkup_pekerjaan' => $row['lingkup_pekerjaan'], 'kualifikasi_bidang_kerja' => $kualifikasiId, 'jabatan' => $jabatanId, ]); } }