85 lines
3.1 KiB
PHP
85 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\Kriteria;
|
|
|
|
class KriteriaSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$kriteria = [
|
|
['kode' => 'C1', 'nama' => 'Jenis Pekerjaan', 'jenis' => 'cost', 'bobot' => 0.25],
|
|
['kode' => 'C2', 'nama' => 'Jumlah Tanggungan Keluarga', 'jenis' => 'benefit', 'bobot' => 0.20],
|
|
['kode' => 'C3', 'nama' => 'Kondisi Kesehatan / Kerentanan Keluarga', 'jenis' => 'benefit', 'bobot' => 0.15],
|
|
['kode' => 'C4', 'nama' => 'Usia Kepala Keluarga', 'jenis' => 'benefit', 'bobot' => 0.10],
|
|
['kode' => 'C5', 'nama' => 'Riwayat Penerimaan Bantuan Sosial', 'jenis' => 'cost', 'bobot' => 0.30],
|
|
];
|
|
|
|
foreach ($kriteria as $k) {
|
|
// GUNAKAN updateOrCreate agar tidak error jika sudah ada
|
|
Kriteria::updateOrCreate(
|
|
['kode' => $k['kode']], // Cari berdasarkan kode
|
|
$k // Update dengan data baru
|
|
);
|
|
}
|
|
|
|
// Seeding Sub-Kriteria Default C1 - C5
|
|
$subKriteria = [
|
|
'C1' => [
|
|
1 => 'Tidak bekerja / Buruh harian lepas',
|
|
2 => 'Petani kecil / Nelayan kecil',
|
|
3 => 'Pedagang kecil / Wiraswasta kecil',
|
|
4 => 'Karyawan swasta / PNS Golongan rendah',
|
|
5 => 'PNS / Profesional / Pengusaha',
|
|
],
|
|
'C2' => [
|
|
1 => '1 orang',
|
|
2 => '2 orang',
|
|
3 => '3 orang',
|
|
4 => '4 orang',
|
|
5 => '> 4 orang',
|
|
],
|
|
'C3' => [
|
|
1 => 'Sehat, usia produktif',
|
|
2 => 'Sehat, lanjut usia',
|
|
3 => 'Sering sakit ringan / Lansia tunggal',
|
|
4 => 'Sakit menahun / Disabilitas ringan',
|
|
5 => 'Sakit kronis parah / Disabilitas berat',
|
|
],
|
|
'C4' => [
|
|
1 => '20 - 30 tahun',
|
|
2 => '31 - 40 tahun',
|
|
3 => '41 - 50 tahun',
|
|
4 => '51 - 60 tahun',
|
|
5 => '> 60 tahun',
|
|
],
|
|
'C5' => [
|
|
1 => 'Belum pernah menerima bantuan',
|
|
2 => 'Pernah menerima (> 2 tahun lalu)',
|
|
3 => 'Pernah menerima (1 - 2 tahun lalu)',
|
|
4 => 'Aktif menerima 1 jenis bantuan',
|
|
5 => 'Aktif menerima banyak jenis bantuan',
|
|
],
|
|
];
|
|
|
|
foreach ($subKriteria as $kode => $items) {
|
|
$kr = Kriteria::where('kode', $kode)->first();
|
|
if ($kr) {
|
|
foreach ($items as $nilai => $ket) {
|
|
\App\Models\SubKriteria::updateOrCreate(
|
|
['kriteria_id' => $kr->id, 'nilai' => $nilai],
|
|
['keterangan' => $ket]
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Hapus Kriteria C6 dan C7 yang sudah tidak dipakai
|
|
Kriteria::whereIn('kode', ['C6', 'C7'])->delete();
|
|
|
|
$this->command->info(' Kriteria & Sub-Kriteria berhasil di-seed/update!');
|
|
}
|
|
}
|