/** * 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); }
/** * 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); }