allowedFilters([ AllowedFilter::scope('comment'), AllowedFilter::scope('price_min'), AllowedFilter::scope('price_max'), AllowedFilter::scope('surface_min'), AllowedFilter::scope('surface_max'), AllowedFilter::scope('garden_surface_min'), AllowedFilter::scope('garden_surface_max'), ]) ->defaultSort('-created_at') // https://docs.spatie.be/laravel-query-builder/v2/features/sorting/#basic-usage ->paginate(10) ->appends(request()->query()); return view('homes.home', ['homes' => $homes]); } public function show($id, Request $request) { return view('homes.view', ['home' => Home::where('id', $id)->firstOrFail()]); } public function add() { return view('homes.add'); } public function update($id, Request $request) { return view('homes.update', ['home' => Home::where('id', $id)->firstOrFail()]); } public function store(Request $request) { $inputs = $request->all(); $home = new Home(); foreach ($inputs as $input_name => $input_value) { if ($input_name === '_token') { continue; } $home->$input_name = $input_value; } $home->save(); return redirect(route('home')); } public function storeupdate($id, Request $request) { $home = Home::where('id', $id)->firstOrFail(); $inputs = $request->all(); foreach ($inputs as $input_name => $input_value) { if ($input_name === '_token') { continue; } $home->$input_name = $input_value; } $home->save(); return redirect(route('home')); } /** * @param \Illuminate\Http\Request $request * * @return false|string */ public function fetch(Request $request) { return json_encode(Parser::factory($request->input('url'))->parse()); } }