Advertisement
Guest User

Untitled

a guest
Jul 21st, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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')) {
  9.                 $products = $products->where('make', $request->input('make'));
  10.             }
  11.  
  12.             // Concatenate search parameters if defined
  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.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement