/** * Search */ public function search(Request $request) { $properties = Property::orderBy('created_at', 'DESC'); if ($request->get('property_type') != 0) { $properties = $properties->where('property_type_id', $request->get('property_type')); } if ($request->get('property_status') != 0) { $properties = $properties->where('property_status_id', $request->get('property_status')); } if ($request->get('town_id') != 0) { $town = \App\Town::find($request->get('town_id')); $ids = []; foreach ($town->streets as $street) { $ids[] = $street->id; } $properties = $properties->whereIn('street_id', $ids); } elseif ($request->get('city_id') != 0) { $city = \App\City::find($request->get('city_id')); $ids = []; foreach ($city->towns->streets as $street) { $ids[] = $street->id; } $properties = $properties->whereIn('street_id', $ids); } if ($request->get("is_credit") != 0) { $properties = $properties->where('is_credit', $request->get('is_credit') == 1 ? true : false); } if ($request->get("is_site") != 0) { $properties = $properties->where('is_site', $request->get('is_site') == 1 ? true : false); } if ($request->get("min")) { $properties = $properties->where('price', '>=', $request->get('min')); } if ($request->get('max')) { $properties = $properties->where('price', '<=', $request->get('max')); } $properties = $properties->paginate(20); return view('property.index', ['properties' => $properties, "title" => trans('search.result')]); }
public function streets(StreetsRequest $request) { $town = Town::find($request->get("town_id")); $streets = $town->streets; return Response::json($streets); }