public function advancedSearch() { $q = Input::get('q'); $data = Input::all(); //unset all empty control foreach ($data as $key => $value) { if ($value == "") { unset($data[$key]); } } $results = Listing::verified(); if (isset($data['ask_price'])) { $results = $results->where('ask_price', '=', $data['ask_price']); } if (isset($data['category'])) { $results = $results->where('category', '=', $data['category']); } if (isset($data['country'])) { $results = $results->where('country', '=', $data['country']); } if (isset($data['prop_status'])) { $results = $results->where('property_status', '=', $data['prop_status']); } if (isset($data['annual_sales_revenue'])) { $results = $results->where('yearly_revenue', '=', $data['annual_sales_revenue']); } if (isset($data['annual_cash_flow'])) { $results = $results->where('cash_flow', '=', $data['annual_cash_flow']); } if (isset($data['annual_operation_cost'])) { $results = $results->where('operation_cost', '=', $data['annual_operation_cost']); } $results = $results->search($q, 2)->paginate($this->search_pages); if (trim($q) != '') { $sq = new SearchQuery(); if (Auth::check()) { $sq->user_id = Auth::user()->id; } $sq->search_term = $q; $sq->results_count = $results->getTotal(); $sq->save(); } if (Request::ajax()) { return Response::json(View::make('search.advanced')->withResults($results)->render()); } return View::make('search.advanced')->withResults($results); }