MeetCheckTemplateSeeder.php
1 <?php 2 3 namespace Database\Seeders; 4 5 use App\Enums\MeetTypeEnum; 6 use App\Models\MeetCheckTemplate; 7 use DB; 8 use File; 9 use Illuminate\Database\Console\Seeds\WithoutModelEvents; 10 use Illuminate\Database\Seeder; 11 12 class MeetCheckTemplateSeeder extends Seeder 13 { 14 /** 15 * Run the database seeds. 16 * 17 * @return void 18 */ 19 public function run() 20 { 21 $json = File::get('database/data/meet-checks.json'); 22 $meetChecksTemplates = json_decode($json, true); 23 $data = []; 24 25 foreach ($meetChecksTemplates as $key => $meetChecksTemplate) { 26 foreach ($meetChecksTemplate as $point => $value) { 27 $values = [ 28 'point' => $point, 29 'requirement' => is_array($value['requirement']) ? $this->handleArray($value['requirement']) : $value['requirement'], 30 'rationale' => is_array($value['rationale']) ? $this->handleArray($value['rationale']) : $value['rationale'], 31 'meet_type_id' => MeetTypeEnum::from($key)->value, 32 ]; 33 array_push($data, $values); 34 } 35 } 36 37 DB::table('meet_check_templates')->insert($data); 38 } 39 40 private function handleArray($rationale) 41 { 42 return implode("\n", $rationale); 43 } 44 }