forked from nathalie/pedi2
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use App\Helpers\CsvHelper;
 | |
| use App\GrupoDeCompra;
 | |
| use App\User;
 | |
| use App\UserRole;
 | |
| use Illuminate\Database\Seeder;
 | |
| use Illuminate\Support\Facades\Hash;
 | |
| 
 | |
| class GrupoDeCompraSeeder extends Seeder
 | |
| {
 | |
|     /**
 | |
|      * Run the database seeds.
 | |
|      *
 | |
|      * @return void
 | |
|      * @throws \League\Csv\Exception
 | |
|      */
 | |
|     public function run()
 | |
|     {
 | |
|         $registros = CsvHelper::getRecords(resource_path('csv/barrios.csv'), 'No se pudo leer la planilla de barrios.');
 | |
|         $gdcToInsert = [];
 | |
|         $usersToInsert = [];
 | |
|         $roles = UserRole::where('nombre', 'barrio')->orWhere('nombre', 'admin_barrio')->get();
 | |
| 
 | |
|         foreach($registros as $key => $registro){
 | |
|             $gdcToInsert[] = DatabaseSeeder::addTimestamps([
 | |
|                 'nombre'        => $registro['barrio'],
 | |
|                 'region'        => $registro['region'],
 | |
|             ]);
 | |
| 
 | |
|             foreach($roles as $role) {
 | |
|                 $nombre = $registro['barrio'] . ($role->nombre == 'barrio' ? '' : '_admin');
 | |
|                 $usersToInsert[] = DatabaseSeeder::addTimestamps([
 | |
|                     'name' => $nombre,
 | |
|                     'password' => Hash::make("123"),
 | |
|                     'role_id' => $role->id,
 | |
|                     'grupo_de_compra_id' => $key,
 | |
|                 ]);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         foreach (array_chunk($gdcToInsert,DatabaseSeeder::CHUNK_SIZE) as $chunk)
 | |
|             GrupoDeCompra::insert($chunk);
 | |
| 
 | |
|         foreach (array_chunk($usersToInsert,DatabaseSeeder::CHUNK_SIZE) as $chunk)
 | |
|             User::insert($chunk);
 | |
|     }
 | |
| }
 |