forked from nathalie/pedi2
41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?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);
|
|
}
|
|
}
|
|
}
|