MIF_E31231754/database/seeders/WargaSeeder.php

72 lines
3.4 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\Warga;
use App\Models\Wilayah;
class WargaSeeder extends Seeder
{
public function run(): void
{
// Ambil wilayah dari DB (sudah di-seed sebelumnya)
$wilayah = Wilayah::all()->keyBy(fn ($w) => $w->dusun . '_' . $w->rw);
$data = [
// Dusun Pungging RW 03
['nik' => '3514010101800001', 'nama' => 'Ahmad Fauzi', 'alamat' => 'Dsn. Pungging RT 01', 'dusun' => 'Pungging', 'rt' => '01', 'rw' => '03'],
['nik' => '3514010201790002', 'nama' => 'Siti Aminah', 'alamat' => 'Dsn. Pungging RT 02', 'dusun' => 'Pungging', 'rt' => '02', 'rw' => '03'],
// Dusun Pungging RW 04
['nik' => '3514010301820003', 'nama' => 'Budi Santoso', 'alamat' => 'Dsn. Pungging RT 01', 'dusun' => 'Pungging', 'rt' => '01', 'rw' => '04'],
// Dusun Pungging RW 05
['nik' => '3514010401850004', 'nama' => 'Wati Rahayu', 'alamat' => 'Dsn. Pungging RT 02', 'dusun' => 'Pungging', 'rt' => '02', 'rw' => '05'],
// Dusun Patung RW 01
['nik' => '3514010501780005', 'nama' => 'Suparman', 'alamat' => 'Dsn. Patung RT 01', 'dusun' => 'Patung', 'rt' => '01', 'rw' => '01'],
['nik' => '3514010601830006', 'nama' => 'Dewi Lestari', 'alamat' => 'Dsn. Patung RT 02', 'dusun' => 'Patung', 'rt' => '02', 'rw' => '01'],
// Dusun Patung RW 02
['nik' => '3514010701760007', 'nama' => 'Hasan Basri', 'alamat' => 'Dsn. Patung RT 01', 'dusun' => 'Patung', 'rt' => '01', 'rw' => '02'],
// Dusun Mejerat RW 06
['nik' => '3514010801900008', 'nama' => 'Nurul Hidayah', 'alamat' => 'Dsn. Mejerat RT 01', 'dusun' => 'Mejerat', 'rt' => '01', 'rw' => '06'],
// Dusun Tamansari RW 07
['nik' => '3514010901880009', 'nama' => 'Joko Widodo', 'alamat' => 'Dsn. Tamansari RT 01', 'dusun' => 'Tamansari', 'rt' => '01', 'rw' => '07'],
// Dusun Kanigoro RW 08
['nik' => '3514011001750010', 'nama' => 'Maryam', 'alamat' => 'Dsn. Kanigoro RT 01', 'dusun' => 'Kanigoro', 'rt' => '01', 'rw' => '08'],
// Dusun Jagil RW 09
['nik' => '3514011101800011', 'nama' => 'Supardi', 'alamat' => 'Dsn. Jagil RT 01', 'dusun' => 'Jagil', 'rt' => '01', 'rw' => '09'],
// Dusun Gebang RW 10
['nik' => '3514011201920012', 'nama' => 'Rina Agustina', 'alamat' => 'Dsn. Gebang RT 01', 'dusun' => 'Gebang', 'rt' => '01', 'rw' => '10'],
];
foreach ($data as $item) {
$key = $item['dusun'] . '_' . $item['rw'];
$w = $wilayah->get($key);
Warga::create([
'nik' => $item['nik'],
'nama' => $item['nama'],
'alamat' => $item['alamat'],
'dusun' => $item['dusun'],
'rt' => $item['rt'],
'rw' => $item['rw'],
'no_telp' => null,
'is_aktif' => 1,
'wilayah_id' => $w?->id,
'latitude' => $w?->latitude,
'longitude' => $w?->longitude,
]);
}
$this->command->info('✅ 12 warga dummy berhasil dibuat dengan koordinat wilayah.');
}
}