From b692f67779f1b24fda5f4e748425254b9a2d80c8 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Date: Thu, 13 Sep 2018 00:50:45 -0500 Subject: [PATCH] Revision of #5471 (#6148) * Search functionality in accessories/{accessory} issue #5471: From the collection of users displayed just filtered the data with the method where() and concat() for the user can search for first name or last name. The solution is case sensitive. * A better fix to issue #5471. Now using the established relationship to querying for the users. Also Case-insensitive. * Fixed previous commit that has magic number in the find method parameter of AccessoriesController. --- app/Http/Controllers/Api/AccessoriesController.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Api/AccessoriesController.php b/app/Http/Controllers/Api/AccessoriesController.php index 1669bd3181..4e4793dcfa 100644 --- a/app/Http/Controllers/Api/AccessoriesController.php +++ b/app/Http/Controllers/Api/AccessoriesController.php @@ -143,13 +143,16 @@ class AccessoriesController extends Controller $accessory->lastCheckoutArray = $accessory->lastCheckout->toArray(); $accessory_users = $accessory->users; - - if($request->filled('search')){ - $accessory_users = $accessory_users->where('first_name', $request->input('search'))->concat($accessory_users->where('last_name', $request->input('search'))); + + if ($request->filled('search')) { + $accessory_users = $accessory->users() + ->where('first_name', 'like', '%'.$request->input('search').'%') + ->orWhere('last_name', 'like', '%'.$request->input('search').'%') + ->get(); } $total = $accessory_users->count(); - + return (new AccessoriesTransformer)->transformCheckedoutAccessory($accessory, $accessory_users, $total); }