46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace Database\Seeders;
 | |
| 
 | |
| use App\Models\Kecamatan;
 | |
| use Illuminate\Database\Console\Seeds\WithoutModelEvents;
 | |
| use Illuminate\Database\Seeder;
 | |
| use Illuminate\Support\Facades\Http;
 | |
| use Illuminate\Support\Facades\Log;
 | |
| use App\Models\Kabupaten;
 | |
| 
 | |
| class KecamatanTableSeeder extends Seeder
 | |
| {
 | |
|     /**
 | |
|      * Run the database seeds.
 | |
|      */
 | |
|     public function run(): void
 | |
|     {
 | |
|         $kabupatens = Kabupaten::all();
 | |
| 
 | |
|         foreach ($kabupatens as $kabupaten) {
 | |
|             $kabId = substr($kabupaten->KabupatenId, 0, 2) . '.' .
 | |
|                     substr($kabupaten->KabupatenId, 2, 2);
 | |
| 
 | |
|             $response = Http::get("https://api-wilayah.dinaslhdki.id/api/kecamatan/search?kab={$kabId}");
 | |
| 
 | |
|             foreach ($response->json() as $kecamatan) {
 | |
|                 $cleanId = str_replace('.', '', $kecamatan['id']);
 | |
| 
 | |
|                 Kecamatan::create([
 | |
|                     'KecamatanId' => $cleanId,
 | |
|                     'KabupatenId' => $kabupaten->KabupatenId,
 | |
|                     'NamaKecamatan' => $kecamatan['data']
 | |
|                 ]);
 | |
| 
 | |
|                 // Log the seeding process
 | |
|                 Log::info('Seeding kecamatan: ', [
 | |
|                     'KecamatanId' => $cleanId,
 | |
|                     'KabupatenId' => $kabupaten->KabupatenId,
 | |
|                     'NamaKecamatan' => $kecamatan['data']
 | |
|                 ]);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |