'integer', 'anak_masih_sekolah' => 'integer', 'yang_ikut_bekerja' => 'integer', 'skor_periode_paceklik' => SkorPeriodePaceklik::class, 'total_estimasi_biaya_kebun_per_musim' => 'integer', 'skor_kemampuan_menabung' => SkorKemampuanMenabung::class, 'estimasi_tabungan_per_bulan' => 'integer', 'skor_kecukupan_penghasilan' => SkorKecukupanPenghasilan::class, 'status_kepemilikan_lahan' => StatusKepemilikanLahanSosialEkonomi::class, 'skor_kejelasan_status_lahan' => SkorKejelasanStatusLahan::class, 'ada_sertifikat_dokumen' => 'boolean', 'ada_sengketa' => 'boolean', 'pihak_membantu_konflik' => PihakMembantuKonflik::class, 'tahun_bantuan_konflik' => 'integer', 'status_konflik' => StatusKonflik::class, 'kemauan_mencoba_praktik_baru' => KemauanMencobaPraktikBaru::class, 'pemahaman_mutu_harga' => PemahamanMutuHarga::class, 'pengetahuan_harga_hasil_olah' => PengetahuanHargaHasilOlah::class, 'pernah_jual_harga_lebih_tinggi' => PernahJualHargaLebihTinggi::class, 'usaha_mutu_tambahan_harga' => UsahaMutuTambahanHarga::class, 'panutan_petani_sukses' => PanutanPetaniSukses::class, 'kemauan_ikut_program' => KemauanIkutProgram::class, 'orientasi_rencana_jangka_panjang' => OrientasiRencanaJangkaPanjang::class, 'terdaftar_kelompok_tani' => TerdaftarKelompokTani::class, 'lama_bergabung_kelompok_tahun' => 'integer', 'kedekatan_sesama_anggota' => KedekatanSesamaAnggota::class, 'keaktifan_pertemuan_kelompok' => KeaktifanPertemuanKelompok::class, 'peran_dalam_kelompok' => PeranDalamKelompok::class, 'manfaat_kelompok_tani' => ManfaatKelompokTani::class, 'status_kartu_tani' => StatusKartuTani::class, 'bisa_beli_pupuk_bersubsidi' => BisaBeliPupukBersubsidi::class, 'status_rekening_tabungan' => StatusRekeningTabungan::class, 'pengalaman_kredit_kebun' => PengalamanKreditKebun::class, 'alasan_kredit_ditolak' => 'array', 'kondisi_aset_produktif' => KondisiAsetProduktif::class, 'jenis_aset_produktif' => 'array', 'keterlibatan_program_keuangan_formal' => KeterlibatanProgramKeuanganFormal::class, 'status_program_keuangan_formal' => 'array', 'pernah_bantuan_ngo_perusahaan' => PernahBantuanNgoPerusahaan::class, 'detail_bantuan_ngo_perusahaan' => 'array', 'keterikatan_hutang_panen' => KeterikatanHutangPanen::class, 'pinjaman_tokoh_adat_panen' => PinjamanTokohAdatPanen::class, 'total_hutang_rupiah' => 'integer', 'total_hutang_setara_kg_panen' => 'float', 'total_hutang_tidak_bersedia' => 'boolean', 'praktik_ijon' => PraktikIjon::class, 'tekanan_jual_segera' => TekananJualSegera::class, 'kebebasan_memilih_pembeli' => KebebasanMemilihPembeli::class, 'minat_pembeli_harga_stabil' => MinatPembeliHargaStabil::class, ]; protected static function booted(): void { static::saved(function (SosialEkonomi $sosialEkonomi) { $petani = Petani::find($sosialEkonomi->petani_id); $skor = SkorPetani::where('petani_id', $petani->id)->orderBy('id')->first(); if (!$skor) { $petaniUid = $petani->uid; $part = explode('-', $petaniUid); $skor = SkorPetani::create([ 'petani_id' => $petani->id, 'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)), 'created_by' => $petani->created_by, 'updated_by' => $petani->updated_by ]); } $skor->update([ 'skor_d4_k5_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan, 'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun, 'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif, 'skor_d4_k5_4_akses_program_bantuan' => $sosialEkonomi->keterlibatan_program_keuangan_formal, 'skor_d4_k6_3_keberadaan_hutang_terkait_panen' => $sosialEkonomi->keterikatan_hutang_panen, 'skor_d4_k6_5a_praktik_ijon' => $sosialEkonomi->praktik_ijon, 'skor_d4_k6_5b_kebebasan_memilih_pembeli' => $sosialEkonomi->kebebasan_memilih_pembeli, ]); }); } public function petani(): BelongsTo { return $this->belongsTo(Petani::class, 'petani_id'); } public function pendapatanKomoditas(): HasMany { return $this->hasMany(PendapatanKomoditas::class, 'sosial_ekonomi_id'); } public function pendapatanLuarPertanian(): HasMany { return $this->hasMany(PendapatanLuarPertanian::class, 'sosial_ekonomi_id'); } }