'decimal:2', ]; // Relasi ke Warga public function warga() { return $this->belongsTo(Warga::class, 'warga_id'); } // Relasi ke Periode Seleksi public function periode() { return $this->belongsTo(PeriodeSeleksi::class, 'periode_id'); } // Relasi ke Kriteria public function kriteria() { return $this->belongsTo(Kriteria::class, 'kriteria_id'); } // Helper: Get label untuk nilai berdasarkan kriteria public static function getNilaiLabel($kriteriaKode, $nilai) { // Cari keterangan dari tabel database sub_kriteria $sub = \App\Models\SubKriteria::whereHas('kriteria', function($q) use ($kriteriaKode) { $q->where('kode', $kriteriaKode); })->where('nilai', (int)$nilai)->first(); if ($sub) { return $sub->keterangan; } $labels = [ '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', ], ]; return $labels[$kriteriaKode][$nilai] ?? $nilai; } }