where('role', 2) ->count('id'); $total_pengajuan_surat = DB::table('izin_pembelian_solar')->count() + DB::table('izin_usaha')->count() + DB::table('skck')->count() + DB::table('keterangan_kematian')->count() + DB::table('keterangan_kehilangan')->count(); $total_berita = DB::table('berita')->count('id'); $total_aspirasi_keluhan = DB::table('aspirasi')->count() + DB::table('keluhan')->count(); $tahun_pengajuan_surat = DB::select(" SELECT DISTINCT YEAR(created_at) AS year FROM ( SELECT created_at FROM izin_pembelian_solar UNION ALL SELECT created_at FROM izin_usaha UNION ALL SELECT created_at FROM skck UNION ALL SELECT created_at FROM keterangan_kematian UNION ALL SELECT created_at FROM keterangan_kehilangan ) AS combined_data ORDER BY year DESC "); return view('Dashboard', [ 'total_pengguna' => $total_pengguna, 'total_pengajuan_surat' => $total_pengajuan_surat, 'total_berita' => $total_berita, 'total_aspirasi_keluhan' => $total_aspirasi_keluhan, 'tahun_pengajuan_surat' => $tahun_pengajuan_surat]); } public function getMonthlyData(Request $request) { $selectedYear = $request->input('year', date('Y')); $data = DB::select(" SELECT MONTH(created_at) AS bulan, COUNT(*) AS jumlah FROM ( SELECT created_at FROM izin_pembelian_solar UNION ALL SELECT created_at FROM izin_usaha UNION ALL SELECT created_at FROM skck UNION ALL SELECT created_at FROM keterangan_kematian UNION ALL SELECT created_at FROM keterangan_kehilangan ) AS combined_data WHERE YEAR(created_at) = ? GROUP BY bulan ORDER BY bulan ", [$selectedYear]); $monthlyData = array_fill(1, 12, 0); foreach ($data as $row) { $monthlyData[$row->bulan] = $row->jumlah; } return response()->json(array_values($monthlyData)); } }