예제 #1
0
 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);
 }