solve lahan & tanaman

This commit is contained in:
2026-07-22 15:49:25 +07:00
parent a5884d0f8c
commit e7f48b6500
4 changed files with 116 additions and 44 deletions
+20 -14
View File
@@ -97,6 +97,25 @@ class PraktikBudidaya extends Model
$kebiasaan = $praktikBudidaya->kebiasaan_konservasi_tanah ? count($praktikBudidaya->kebiasaan_konservasi_tanah) : 0;
$pemahaman = $praktikBudidaya->pemahaman_manfaat_konservasi_tanah == 'Ya, tahu manfaatnya' ? 1 : 0;
$skor_konservasi_tanah = 0;
$jenisHama = $praktikBudidaya->jenis_hama ?? [];
$jenisPenyakit = $praktikBudidaya->jenis_penyakit ?? [];
Lahan::where('petani_id', $praktikBudidaya->petani_id)->get()->each(function (Lahan $lahan) use ($jenisHama, $jenisPenyakit, $praktikBudidaya) {
$lahan->update([
'jenis_hama' => $jenisHama,
'jenis_penyakit' => $jenisPenyakit,
'updated_by' => $praktikBudidaya->updated_by,
]);
});
Tanaman::where('petani_id', $praktikBudidaya->petani_id)->get()->each(function (Tanaman $tanaman) use ($jenisHama, $jenisPenyakit, $praktikBudidaya) {
$tanaman->update([
'jenis_hama' => $jenisHama,
'jenis_penyakit' => $jenisPenyakit,
'updated_by' => $praktikBudidaya->updated_by,
]);
});
if ($kebiasaan == 0) {
$skor_konservasi_tanah = 1;
} elseif ($kebiasaan == 1 && $pemahaman == 0) {
@@ -117,19 +136,6 @@ class PraktikBudidaya extends Model
'skor_d2_k2_7_penglolaan_air_irigasi' => $praktikBudidaya->kondisi_pengelolaan_air,
'skor_d2_k2_8_praktik_konservasi_tanah' => $skor_konservasi_tanah,
]);
Lahan::where('petani_id', $petani->id)->update([
'jenis_hama' => $praktikBudidaya->jenis_hama,
'jenis_penyakit' => $praktikBudidaya->jenis_penyakit,
]);
Tanaman::whereIn(
'lahan_id',
Lahan::where('petani_id', $petani->id)->select('id')
)->update([
'jenis_hama' => $praktikBudidaya->jenis_hama,
'jenis_penyakit' => $praktikBudidaya->jenis_penyakit,
]);
});
}
@@ -137,4 +143,4 @@ class PraktikBudidaya extends Model
{
return $this->belongsTo(Petani::class, 'petani_id');
}
}
}