public function query(Request $request) { $validator = Validator::make($request->all(), ['currentPage' => 'required', 'items_per_page' => 'required']); if ($validator->fails()) { return Response::json(array('result' => false, 'data' => 'data is valid.')); } $parpage = $request->input('items_per_page'); $page = $request->input('currentPage'); $skip = ($page - 1) * $parpage; if ($request->input('publisher')) { $products = Products::where('publisher_id', $request->input('publisher'))->orderBy('created_at', 'desc')->skip($skip)->take($parpage)->get(); } else { $products = Products::orderBy('created_at', 'desc')->skip($skip)->take($parpage)->get(); } if ($products) { $counts = Products::count(); return Response::json(array('result' => true, 'data' => $products, 'count' => $counts)); } }