From 5dd1aeed623821c2bce410e20926c97a656bcbed Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sun, 3 Jun 2018 00:25:14 +0200 Subject: Improved searching query (added 'like wildcards') --- .../admin/src/Controller/SearchController.php | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 main/app/sprinkles/admin/src/Controller/SearchController.php (limited to 'main/app/sprinkles/admin/src/Controller/SearchController.php') diff --git a/main/app/sprinkles/admin/src/Controller/SearchController.php b/main/app/sprinkles/admin/src/Controller/SearchController.php new file mode 100644 index 0000000..2398a56 --- /dev/null +++ b/main/app/sprinkles/admin/src/Controller/SearchController.php @@ -0,0 +1,56 @@ +ci->classMapper; + $users = $classMapper->createInstance('user') + ->where("first_name", "like", "%" . $args["search_term"] . "%") + ->orWhere("last_name", "like", "%" . $args["search_term"] . "%") + ->orWhere(DB::raw("CONCAT(`first_name`, ' ', `last_name`)"), 'LIKE', "%" . $args["search_term"] . "%") + ->orWhere("user_name", "like", "%" . $args["search_term"] . "%") + ->get(); + + foreach ($users as $number => $user) { + $users[$number]["avatar"] = $user->avatar; + } + + if (count($users) === 0) throw new NotFoundException(); + return $response->withJson($users, 200, JSON_PRETTY_PRINT); + } +} -- cgit v1.2.3