count(); $totalProduk = Produk::count(); $totalTransaksi = Transaksi::count(); $transaksiTerbaru = Transaksi::with(['pembeli', 'petani'])->latest()->take(5)->get(); // PRODUK TERLARIS $produkTerlaris = Produk::withSum(['detailTransaksis as total_terjual' => function ($query) { $query->whereHas('transaksi', function ($q) { $q->where('status', '!=', 'batal'); }); }], 'jumlah') ->orderByDesc('total_terjual') ->take(5) ->get(); $labelTerlaris = $produkTerlaris->pluck('nama_produk'); $dataTerlaris = $produkTerlaris->pluck('total_terjual'); // Menghitung rata-rata harga jual harian selama 7 hari terakhir $hargaStabil = DetailTransaksi::join('transaksis', 'detail_transaksis.transaksi_id', '=', 'transaksis.id') ->selectRaw('DATE(transaksis.tanggal_transaksi) as tanggal, AVG(detail_transaksis.harga_satuan) as rata_harga') ->where('transaksis.status', '!=', 'batal') ->groupBy('tanggal') ->orderBy('tanggal', 'asc') ->take(7) ->get(); $labelHarga = $hargaStabil->pluck('tanggal')->map(function($date) { return \Carbon\Carbon::parse($date)->format('d M'); }); $dataHarga = $hargaStabil->pluck('rata_harga');//isi grafik return view('admin.dashboard', compact( 'totalPetani', 'totalProduk', 'totalTransaksi', 'transaksiTerbaru', 'labelTerlaris', 'dataTerlaris', 'labelHarga', 'dataHarga' )); } public function monitoring() { $produks = Produk::with('petani')->latest()->paginate(10); $transaksis = Transaksi::with(['pembeli', 'petani'])->latest()->paginate(10); return view('admin.monitoring', compact('produks', 'transaksis')); } public function transaksiDetail($id) { $transaksi = Transaksi::with(['pembeli', 'petani', 'detailTransaksis.produk'])->findOrFail($id); return view('admin.transaksi_detail', compact('transaksi')); } }