44 lines
1.0 KiB
PHP
44 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Widgets;
|
|
|
|
use App\Models\ClassRoom;
|
|
use App\Models\Student;
|
|
use App\Models\Subject;
|
|
use App\Models\User;
|
|
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
|
|
use Filament\Widgets\StatsOverviewWidget\Stat;
|
|
|
|
class AdminStatsWidgets extends BaseWidget
|
|
{
|
|
protected function getColumns(): int
|
|
{
|
|
return 4;
|
|
}
|
|
|
|
protected function getStats(): array
|
|
{
|
|
$studnet = count(Student::where('is_active', true)
|
|
->get()
|
|
->toArray()
|
|
);
|
|
|
|
$teacher = count(User::role('teacher')->get()->toArray());
|
|
|
|
$classRoom = Classroom::count();
|
|
|
|
$subject = Subject::count();
|
|
|
|
$nonTeacherUser = User::whereDoesntHave('roles', function ($query) {
|
|
$query->where('name', 'teacher');
|
|
})->count();
|
|
|
|
return [
|
|
Stat::make('Total Siswa', $studnet),
|
|
Stat::make('Total Guru ', $teacher),
|
|
Stat::make('Total Kelas ', $classRoom),
|
|
Stat::make('Total Mapel ', $subject),
|
|
];
|
|
}
|
|
}
|