belongsTo('App\Models\Dataset','dataset_id');
}
public static function dataChart($modelClass,$datasetId,$templateId){
$datasets = \App\Models\Dataset::where('template_id', $templateId)
->orderBy('tahun', 'asc')
->get()
->map(function ($dataset) use ($modelClass) {
$dataset->items = (new $modelClass)->where('dataset_id', $dataset->id)->get();
return $dataset;
});
$years = $datasets->pluck('tahun')->toArray();
$model = self::with('dataset')->whereHas('dataset',function($query) use ($years){
$query->whereIn('tahun',$years);
})->where('dataset_id',$datasetId)->get();
$result = [];
foreach ($model as $row) {
$lokasi = $row->lokasi ?? 'Unknown';
if (!isset($result[$lokasi])) {
$result[$lokasi] = [
'luas' => [],
'persen' => []
];
}
$result[$lokasi]['luas'][] = (float) $row->luas;
$result[$lokasi]['persen'][] = (float) $row->persentase_area_kerusakan;
}
return [
'title' => 'Luas & Persentase Area Kerusakan per Wilayah',
'years' => $years,
'yTitle' => 'Luas (Ha)',
'yOpposite' => 'Persentase (%)',
'series' => collect($result)->flatMap(function ($item, $lokasi) {
return [
[
'name' => "Luas - {$lokasi}",
'type' => 'column',
'data' => $item['luas']
],
[
'name' => "Persentase - {$lokasi}",
'type' => 'line',
'data' => $item['persen']
]
];
})->values()
];
}
public static function legend() {
$html = "
Keterangan:
Berdasarkan Keputusan Menteri Lingkungan Hidup Nomor 200 Tahun 2004 tentang Kriteria Baku Kerusakan dan Pedoman
Penentuan Status Padang Lamun
Sumber: Dinas Ketahanan Pangan, Kelautan dan Pertanian Provinsi DKI Jakarta
Penjelasan Isi Tabel:
(1) Nomor urut diisi dengan angka 1,2,3, dst
(2) Diisi dengan provinsi/kabupaten/kota yang ada di provinsi penyusun laporan
(3) Diisi dengan angka luas padang lamun dalam satuan hektar
(4) Diisi dengan persentase area kerusakan
";
return $html;
}
}