From a9430680731574f86e8c54a7b14d7155e8daff2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna-Sara=20S=C3=A9lea?= Date: Mon, 22 Sep 2025 07:19:22 +0200 Subject: [PATCH] Stat for most popular game --- app/Filament/Widgets/AdminWidget.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/Filament/Widgets/AdminWidget.php b/app/Filament/Widgets/AdminWidget.php index 3ebe802..1cb4790 100644 --- a/app/Filament/Widgets/AdminWidget.php +++ b/app/Filament/Widgets/AdminWidget.php @@ -17,12 +17,29 @@ class AdminWidget extends BaseWidget protected function getStats(): array { + $items = Reserveditem::withTrashed()->with('item')->whereHas('item', function($query){ + return $query->where('type', 'game'); + })->get()->groupBy('item_id'); + + $itemName = ""; + + foreach ($items as $item){ + $itemCount = 0; + + if($item->count() > $itemCount) { + $itemName = $item[0]->item->desc; + $itemCount = $item->count(); + } + + + } return [ //Card::make(__('Total number of users'), User::count() ), Stat::make(__('Total amount of games'), Item::where('type', 'game')->count() ), Stat::make(__('Total amount of items'), Item::where('type', 'item')->count() ), Stat::make(__('Reservations at the moment'), Reserveditem::where('returned_date', null)->count() ), - Stat::make(__('Reservations over time'), Reserveditem::withTrashed()->withTrashed()->count() ), + Stat::make(__('Reservations over time'), Reserveditem::withTrashed()->count() ), + Stat::make(__('Most reserved game'), $itemName), ]; }