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
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|