NIM_E31222518/app/Http/Controllers/DashboardController.php

66 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Barang;
use App\Models\Pesanan;
use App\Models\Transaksi;
use Illuminate\Support\Facades\Auth;
use App\Models\Banner;
use App\Models\FlashSale;
use Carbon\Carbon;
class DashboardController extends Controller
{
public function __construct()
{
// Pastikan user sudah login
$this->middleware('auth');
}
public function index()
{
// Get user's data
$user = Auth::user();
// Get statistics
$totalBarang = Barang::count();
$totalPesanan = Pesanan::where('user_id', $user->id)->count();
$totalTransaksi = Transaksi::where('user_id', $user->id)->count();
// Get recent orders
$pesanan = Pesanan::with(['barang'])
->where('user_id', $user->id)
->latest()
->take(5)
->get();
// Get pending orders count
$pesananPending = Pesanan::where('user_id', $user->id)
->where('status', 'pending')
->count();
// $banners = Banner::where('aktif', true)
// ->orderBy('urutan', 'asc')
// ->get();
// $activeFlashSale = FlashSale::with(['items' => function($query) {
// $query->where('aktif', true)
// ->whereHas('barang');
// }, 'items.barang'])
// ->where('aktif', true)
// ->whereDate('waktu_mulai', '<=', Carbon::now())
// ->whereDate('waktu_selesai', '>=', Carbon::now())
// ->first();
return view('dashboard.index', compact(
'totalBarang',
'totalPesanan',
'totalTransaksi',
'pesanan',
'pesananPending'
));
}
}