public function search(APIRequest $request) { if (!$request->has('query')) { return response(json_encode(['error' => 'The /search endpoint requires a query parameter'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), 400); } $results = Event::elasticFind($request->input('query')); $resource = new Collection($results, new EventTransformer(), 'event'); // TODO: pagination return $this->fractal->createData($resource)->toArray(); }
/** * Process the request * * @return Json response */ public function process(APIRequest $request, Json $json) { $page = $request->input('page'); $business = $this->api->set('noOfReviews', $request->input('noOfReviews'))->setSources($request->input('sources'))->setOffset($page)->fetch(); $business->setPage($page); if ($request->input('paginate') == '1') { $view = 'reviews.reviews'; $json->set('paginate', TRUE); } else { $view = 'reviews.results'; } $content = \View::make($view, ['business' => $business])->render(); $json->set('content', $content); return $json->success('Retrieved Successfully ...')->render(); }
/** * @param \App\Http\Requests\APIRequest $request * @param \Illuminate\Database\Eloquent\Builder $query **/ protected function processOrdering(APIRequest $request, Builder $query) { if ($request->has('order_by')) { $query->orderBy($request->input('order_by'), $request->input('sort', 'asc')); } }