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));
     }
 }