<?php use Illuminate\Database\Seeder; use League\Csv\Reader; use App\Proveedor; class ProductoSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $csv = Reader::createFromPath(resource_path('csv/productos.csv'), 'r'); $csv->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); } } }