setDelimiter("|"); $csv->setEnclosure("'"); $csv->setHeaderOffset(0); $registros = $csv->getRecords(); $toInsert = []; foreach($registros as $registro){ $toInsert[] = [ 'categoria' => $registro['categoria'], 'nombre' => $registro['producto'], 'precio' => $registro['precio'], 'proveedor_id' => isset($registro['proveedor']) ? Proveedor::firstOrCreate([ 'nombre' => $registro['proveedor'] ])->id : null, 'bono' => $registro['categoria'] == 'BONOS Y FINANCIAMIENTO SORORO' ]; } foreach (array_chunk($toInsert,DatabaseSeeder::CHUNK_SIZE) as $chunk) { DB::table('productos')->insert($chunk); } } }