errors[] = 'Kolom ' . $column . ' pada baris ' . $this->rowCount . ' tidak boleh kosong.'; return null; // Abaikan data dengan kolom yang tidak sesuai } } // Mendapatkan informasi pengguna yang sedang login $user = Auth::user(); // Cek apakah nama warehouse sudah ada dalam database $existingWarehouse = m_warehouse::where('name', $row['nama_gudang'])->first(); if ($existingWarehouse) { // Jika nama warehouse sudah ada, tambahkan pesan kesalahan ke dalam array $errors $this->errors[] = new MessageBag(['Row ' . $this->rowCount => 'Data warehouse sudah ada dalam database.']); return null; // Abaikan data yang sudah ada } // Increment rowCount setiap kali ada data yang diimpor $this->rowCount++; // Buat model baru jika nama warehouse belum ada return new m_warehouse([ 'name' => strtoupper($row['nama_gudang']), 'description' => strtoupper($row['deskripsi_gudang']), 'address' => strtoupper($row['alamat']), 'created_by' => $user->fullname, ]); } public function registerEvents(): array { return [ AfterImport::class => function (AfterImport $event) { // Setelah import selesai, kita bisa mengakses semua data yang diimpor $importedData = $event->getReader()->getDelegate()->getActiveSheet()->toArray(); // Lakukan pemeriksaan apakah ada data yang bernilai null dan hapus dari hasil import $filteredData = array_filter($importedData, function ($row) { return $row[0] !== null; // Jika nilai kolom pertama tidak null, pertahankan baris tersebut }); // Update hasil import dengan data yang telah difilter $event->getReader()->getDelegate()->getActiveSheet()->fromArray($filteredData); }, ]; } public function getErrors() { return $this->errors; } public function getRowCount() { return $this->rowCount; } }