Пример #1
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index(RestaurantLocations $restaurantLocations, FetchRestaurantLocationsRequest $fetchRestaurantLocationsRequest)
 {
     $input = $this->request->all();
     $restaurantLocations->fetchAll($input);
     $arrResult = $restaurantLocations->arr_result;
     if (empty($arrResult)) {
         $arrResponse['status'] = Config::get('constants.API_SUCCESS');
         $arrResponse['no_result_msg'] = 'No results found. Try again with different filters or slide left to check for Experiences matching your filters.';
         $arrResponse['data'] = array('listing' => array());
         $arrResponse['total_count'] = 0;
     } else {
         $arrResponse = array('status' => Config::get('constants.API_SUCCESS'), 'data' => array('listing' => $arrResult, 'filters' => $restaurantLocations->filters, 'total_pages' => $restaurantLocations->total_pages, 'sort_options' => $restaurantLocations->sort_options), 'total_count' => $restaurantLocations->total_count, 'no_result_msg' => 'No results found. Try again with different filters or slide left to check for Experiences matching your filters.');
     }
     return response()->json($arrResponse, 200);
 }
Пример #2
0
 /**
  * Handles request for searching the vendors
  * based on parameters.
  *
  * @access	public
  * @param	object	Request
  * @return	json
  * @since	1.0.0
  */
 public function searchExperienceNew(Request $request, RestaurantLocations $restaurantLocations)
 {
     //array to store information submitted by the user
     $arrSubmittedData = array();
     //reading the input data
     $input = $request->all();
     if (array_key_exists('filters', $input)) {
         $arrSubmittedData = $input['filters'];
         //validating the input data
         $arrReturn = Search::validateExperienceSearchData($arrSubmittedData);
         if ($arrReturn['status'] == Config::get('constants.API_ERROR')) {
             //validation failed
             $arrResult['status'] = $arrReturn['status'];
             $arrResult['msg'] = $arrReturn['msg'];
         } else {
             //reading the matching experiences details from the DB
             $searchResult = $this->search->findMatchingExperience($arrSubmittedData);
             if (!empty($searchResult)) {
                 //setting up the array to be formatted as json
                 $arrResult['status'] = Config::get('constants.API_SUCCESS');
                 $arrResult['resultCount'] = $searchResult['resultCount'];
                 $arrResult['data'] = array_key_exists('data', $searchResult) ? $searchResult['data'] : array();
                 $arrResult['filters'] = $this->search->getExperienceSearchFilters();
                 $arrResult['no_result_msg'] = 'No matching data found.';
             } else {
                 $arrResult['status'] = Config::get('constants.API_SUCCESS');
                 $arrResult['resultCount'] = 0;
                 $arrResult['data'] = array();
                 $arrResult['no_result_msg'] = 'No matching data found.';
             }
         }
     } else {
         //validation failed
         $arrResult['status'] = Config::get('constants.API_ERROR');
         $arrResult['msg'] = 'Invalid Request';
     }
     //return response()->json($arrResult,200);
     $restaurantLocations->fetchAll($input);
     $arrResult1 = $restaurantLocations->arr_result;
     if (empty($arrResult1)) {
         $arrResponse['status'] = Config::get('constants.API_SUCCESS');
         $arrResponse['no_result_msg'] = 'No matching data found.';
         $arrResponse['data'] = array('listing' => array());
         $arrResponse['total_count'] = 0;
     } else {
         $arrResponse = array('status' => Config::get('constants.API_SUCCESS'), 'data' => array('listing' => $arrResult1), 'total_count' => $restaurantLocations->total_count, 'no_result_msg' => 'No matching result found.');
     }
     //return response()->json($arrResponse,200);
     $arrResult['filters'] = $this->search->getExperienceSearchFilters();
     $arrResult1['filters'] = $restaurantLocations->filters;
     foreach ($arrResult['filters']['locations'] as $key => $value) {
         foreach ($arrResult1['filters']['areas']['options'] as $key => $value1) {
             if ($value['id'] == $value1['id']) {
                 //Logic to increment the count value
                 // echo "hi";
             } else {
                 //echo "hi";
                 $arrResult['filters']['locations'][] = array('id' => $value1['id'], 'name' => $value1['name'], 'count' => $value1['count']);
             }
         }
     }
     //die();
     //print_r($arrResult['filters']['locations']);   die();
     $finalResult = array('experiences' => $arrResult['data'], 'restaurants' => $arrResponse['data']);
     //array_unique( array_merge($arrResult['filters']['locations'], $arrResult1['filters']['areas']['options']) );
     // $finalResult['experiences']=$arrResult['data'];
     // $finalResult['restaurants']=$arrResponse['data'];
     return response()->json($finalResult, 200);
 }