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 $existingTipePeti = Type_peti::where('type', $row['type'])->first(); if ($existingTipePeti) { // Jika nama warehouse sudah ada, tambahkan pesan kesalahan ke dalam array $errors $this->errors[] = new MessageBag(['Row ' . $this->rowCount => 'Data Tipe peti sudah ada dalam database.']); return null; // Abaikan data yang sudah ada } // Increment rowCount setiap kali ada data yang diimpor $this->rowCount++; return new Type_peti([ 'type' => $row['type'], 'size_peti' => $row['size_peti'], 'description' => $row['description'], '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; } }