SHOW:
|
|
- or go back to the newest paste.
1 | public function index(Request $request) | |
2 | { | |
3 | try { | |
4 | // Create a query builder instance for Product resource | |
5 | $products = Product::query(); | |
6 | ||
7 | // Filter by make | |
8 | - | if($request->has('make'){ |
8 | + | if($request->has('make')) { |
9 | $products = $products->where('make', $request->input('make')); | |
10 | } | |
11 | ||
12 | // Concatenate search parameters if defined | |
13 | - | if($request->has('query')){ |
13 | + | if($request->has('query')) { |
14 | $products = $products->where(function($query){ | |
15 | $query->where('name','like','%'. $request->input('query') .'%') | |
16 | ->orWhere('alias','like','%'. $request->input('query') .'%'); | |
17 | }); | |
18 | } | |
19 | ||
20 | // Concatinate sorting function if defined | |
21 | if($request->has(['sortBy', 'sortType'])) { | |
22 | if(in_array($request->input('sortBy'), $this->sortableColumns)){ | |
23 | $products = $products->orderBy($request->input('sortBy'), $request->input('sortType')); | |
24 | } else { | |
25 | return response()->json([ | |
26 | 'message' => "Incorrect request!" | |
27 | ],500); | |
28 | } | |
29 | } | |
30 | ||
31 | // Get Products and return | |
32 | return $products->simplePaginate(30)->appends(request()->query()); | |
33 | } catch (\Exception $e){ | |
34 | report($e); | |
35 | return response()->json([ | |
36 | 'status' => false, | |
37 | 'message' => "Something went really wrong!" | |
38 | ]); | |
39 | } | |
40 | } |