From 92df32dfaaffdd2fafd96f04f65b95e66be1eccc Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Tue, 15 Aug 2023 21:10:48 -0600 Subject: [PATCH] Move a couple assignation of variables inside an else to only execute once --- .../Controllers/Api/ComponentsController.php | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/Api/ComponentsController.php b/app/Http/Controllers/Api/ComponentsController.php index d41459d2a..a6e3e379e 100644 --- a/app/Http/Controllers/Api/ComponentsController.php +++ b/app/Http/Controllers/Api/ComponentsController.php @@ -204,26 +204,28 @@ class ComponentsController extends Controller $this->authorize('view', \App\Models\Asset::class); $component = Component::findOrFail($id); - $assets = $component->assets(); - + $offset = request('offset', 0); $limit = $request->input('limit', 50); - $total = $assets->count(); - $assets = $assets->skip($offset)->take($limit)->get(); - + if ($request->filled('search')) { $assets = $component->assets() - ->where(function ($query) use ($request) { - $search_str = '%' . $request->input('search') . '%'; - $query->where('name', 'like', $search_str) - ->orWhereIn('model_id', function (Builder $query) use ($request) { - $search_str = '%' . $request->input('search') . '%'; - $query->selectRaw('id')->from('models')->where('name', 'like', $search_str); - }) - ->orWhere('asset_tag', 'like', $search_str); + ->where(function ($query) use ($request) { + $search_str = '%' . $request->input('search') . '%'; + $query->where('name', 'like', $search_str) + ->orWhereIn('model_id', function (Builder $query) use ($request) { + $search_str = '%' . $request->input('search') . '%'; + $query->selectRaw('id')->from('models')->where('name', 'like', $search_str); + }) + ->orWhere('asset_tag', 'like', $search_str); }) ->get(); $total = $assets->count(); + } else { + $assets = $component->assets(); + + $total = $assets->count(); + $assets = $assets->skip($offset)->take($limit)->get(); } return (new ComponentsTransformer)->transformCheckedoutComponents($assets, $total);