/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $location = Location::findOrFail($id); $weathers = Weather::get($location->name); $hospitals = Hospital::where('address', 'LIKE', "%{$location->name}%")->get(); $request = ['weathers' => $weathers, 'hospitals' => $hospitals]; return json_encode($request); }
public function fuzzyQuery(Request $request) { $this->validate($request, ['keyword' => 'required|max:255']); $keyword = $request->get('keyword'); $hospitals = Hospital::where('hospital_name', 'like', "%{$keyword}%")->orwhere('city', 'like', "%{$keyword}%")->orwhere('hospital_level', 'like', "%{$keyword}%")->orwhere('description', 'like', "%{$keyword}%")->get(); $departments = Department::where('department_name', 'like', "%{$keyword}%")->orwhere('department_description', 'like', "%{$keyword}%")->get(); $doctors = Doctor::where('doctor_name', 'like', "%{$keyword}%")->orwhere('doctor_level', 'like', "%{$keyword}%")->orwhere('doctor_description', 'like', "%{$keyword}%")->get(); $response = ['hospitals' => $hospitals, 'department' => $departments, 'doctors' => $doctors]; return json_encode($response); }
/** * Display a listing of the resource. * * @param Request $request * * @return \Illuminate\Http\Response */ public function index(Request $request) { $this->validate($request, ['page' => 'integer|min:1', 's' => 'integer|min:1', 'c' => 'max:16|exists:hospitals,city']); $c = $request->get('c'); $s = (int) $request->get('s'); $query = empty($c) ? Hospital::query() : Hospital::where('city', $c); $total = $query->count(); if (empty($s) && empty($request->get('page'))) { $s = $total; } return $query->paginate($s); }