Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

AdminController.php 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Apresiasi;
  4. use App\Models\Pelaporan;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. use Carbon\Carbon;
  8. class AdminController extends Controller
  9. {
  10. public function index(Request $request){
  11. $today = Carbon::now();
  12. $startOfWeek = $today->startOfWeek()->toDateString();
  13. $endOfWeek = $today->endOfWeek()->toDateString();
  14. $user = $request->user();
  15. if ($user->role == 'admin') {
  16. $laporan = Pelaporan::with('tindakan','user')->get();
  17. // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
  18. $laporan = Pelaporan::with('tindakan','user')->get();
  19. $total = Pelaporan::where('tindakan_id', 1)->count();
  20. $tot = Pelaporan::where('tindakan_id', 2)->count();
  21. $tots = Pelaporan::where('tindakan_id', 3)->count();
  22. $totals = Pelaporan::where('tindakan_id', 4)->count();
  23. } elseif ($user->role == 'user') {
  24. // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
  25. $laporan = Pelaporan::where('user_id', $user->id)->get();
  26. // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
  27. $count = $laporan->count();
  28. // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
  29. $total = $laporan->where('tindakan_id', 1)->count();
  30. // Menghitung total berdasarkan tindakan_id dari riwayat pelaporan pengguna
  31. $tot = $laporan->where('tindakan_id', 2)->count();
  32. $tots = $laporan->where('tindakan_id', 3)->count();
  33. $totals = $laporan->where('tindakan_id', 4)->count();
  34. }
  35. $pelaporans = Pelaporan::all();
  36. $apresiasi = Apresiasi::all();
  37. return view('admin.dashboards', compact('laporan','apresiasi','pelaporans','total', 'tot', 'tots', 'totals'));
  38. }
  39. }