getFillable(); while (($row = fgetcsv($handle, 0, "~")) !== false) { if (count($headers) === count($row)) { $data = array_combine($headers, $row); if($data['arrangement_id']!== 'arrangement_id') { TempArrangement::updateOrCreate( ['arrangement_id' => $data['arrangement_id']], // key to find existing record $data // data to update or create ); } } } fclose($handle); } else { throw new Exception("Unable to open file: {$filePath}"); } } catch (Exception $e) { Log::error('Error in ProcessArrangementDataJob: ' . $e->getMessage()); throw $e; } } }