44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace Database\Seeders;
 | |
| 
 | |
| use App\Models\Kecamatan;
 | |
| use App\Models\Kelurahan;
 | |
| use Illuminate\Database\Console\Seeds\WithoutModelEvents;
 | |
| use Illuminate\Database\Seeder;
 | |
| use Illuminate\Support\Facades\Http;
 | |
| use Illuminate\Support\Facades\Log;
 | |
| 
 | |
| class KelurahanTableSeeder extends Seeder
 | |
| {
 | |
|     public function run(): void
 | |
|     {
 | |
|         $kecamatans = Kecamatan::all();
 | |
| 
 | |
|         foreach ($kecamatans as $kecamatan) {
 | |
|             $kecId = substr($kecamatan->KecamatanId, 0, 2) . '.' .
 | |
|                     substr($kecamatan->KecamatanId, 2, 2) . '.' .
 | |
|                     substr($kecamatan->KecamatanId, 4, 2);
 | |
| 
 | |
|             $response = Http::get("https://api-wilayah.dinaslhdki.id/api/kelurahan/search?kec={$kecId}");
 | |
| 
 | |
|             foreach ($response->json() as $kelurahan) {
 | |
|                 $cleanId = str_replace('.', '', $kelurahan['id']);
 | |
|                 $cleanName = str_replace("\n", ' ', $kelurahan['data']);
 | |
| 
 | |
|                 Kelurahan::create([
 | |
|                     'KelurahanId' => $cleanId,
 | |
|                     'KecamatanId' => $kecamatan->KecamatanId,
 | |
|                     'NamaKelurahan' => $cleanName
 | |
|                 ]);
 | |
| 
 | |
|                 Log::info('Seeding kelurahan: ', [
 | |
|                     'KelurahanId' => $cleanId,
 | |
|                     'KecamatanId' => $kecamatan->KecamatanId,
 | |
|                     'NamaKelurahan' => $cleanName
 | |
|                 ]);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |