39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Siswa;
|
|
use App\Models\Guru;
|
|
use App\Models\Mapel;
|
|
use App\Models\Kelas;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
// Hitung total data
|
|
$jumlahSiswa = Siswa::count();
|
|
$jumlahGuru = Guru::count();
|
|
$jumlahMapel = Mapel::count();
|
|
$jumlahKelas = Kelas::count();
|
|
|
|
// Ambil user aktif gabungan guru dan siswa
|
|
$activeUsers = DB::table('users')
|
|
->where('is_active', 1)
|
|
->join('guru', 'users.id', '=', 'guru.user_id')
|
|
->select('users.email', 'guru.nama', DB::raw("'guru' as role"))
|
|
->unionAll(
|
|
DB::table('users')
|
|
->where('is_active', 1)
|
|
->join('siswa', 'users.id', '=', 'siswa.user_id')
|
|
->select('users.email', 'siswa.nama', DB::raw("'siswa' as role"))
|
|
)
|
|
->get();
|
|
|
|
|
|
return view('admin.dashboard', compact('jumlahSiswa', 'jumlahGuru', 'jumlahMapel', 'jumlahKelas', 'activeUsers'));
|
|
}
|
|
}
|