From b95b60b49ef33bc204ab7bbcb3a3b3f5792914f1 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 8 Sep 2025 14:07:49 +0100 Subject: [PATCH] Use eager-loaded model assets Signed-off-by: snipe --- app/Helpers/Helper.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index c0b31b8ac1..220313e429 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -748,7 +748,7 @@ class Helper $consumables = Consumable::withCount('consumableAssignments as consumable_assignments_count')->whereNotNull('min_amt')->get(); $accessories = Accessory::withCount('checkouts as checkouts_count')->whereNotNull('min_amt')->get(); $components = Component::whereNotNull('min_amt')->get(); - $asset_models = AssetModel::where('min_amt', '>', 0)->get(); + $asset_models = AssetModel::where('min_amt', '>', 0)->with('assets')->get(); $licenses = License::where('min_amt', '>', 0)->get(); $items_array = []; @@ -812,10 +812,13 @@ class Helper } - $total_owned = Asset::whereIn('model_id', $asset_models->pluck('id'))->count(); - $avail = Asset::whereIn('model_id', $asset_models->pluck('id'))->whereNull('assigned_to')->count(); + foreach ($asset_models as $asset_model) { + + $total_owned = $asset_model->assets->count(); + $avail = $asset_model->assets->whereNull('assigned_to')->count(); + if ($avail < ($asset_model->min_amt) + $alert_threshold) { if ($avail > 0) { $percent = number_format((($avail / $total_owned) * 100), 0);