View difference between Paste ID: fKKjWqRH and CJ44y2Hk
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
	}