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' => $row['name'], 'description' => $row['description'], 'address' => $row['address'], '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; } }