Edit File: CountriesAndCitiesController.php
<?php namespace App\Http\Controllers\Api\General; use App\Http\Controllers\Controller; use App\Http\Resources\Api\General\Settings\CityResource; use App\Http\Resources\Api\General\Settings\CountryResource; use App\Http\Resources\Api\General\Settings\CountryWithCitiesResource; use App\Http\Resources\Api\User\NeighborhoodResource; use App\Models\City; use App\Models\Country; use App\Services\CityService; use App\Services\CountryService; use App\Services\NeighborhoodService; use App\Traits\ResponseTrait; class CountriesAndCitiesController extends Controller { use ResponseTrait; protected $countryService; protected $cityService; protected $neighborhoodService; public function __construct() { $this->countryService = new CountryService(); $this->cityService = new CityService(); $this->neighborhoodService = new NeighborhoodService(); } public function countries() { $countries = $this->countryService->allWithoutPagination(); return $this->successData(CountryResource::collection($countries)); } public function cities() { $cities = $this->cityService->allWithoutPagination(); return $this->successData(CityResource::collection($cities)); } public function CountryCities($country_id) { $cities = CityResource::collection($this->cityService->getListOfCitiesAccordingToCountry($country_id)); return $this->successData($cities); } public function countriesWithCities() { $countries = CountryWithCitiesResource::collection($this->countryService->getCountriesWithCity()); return $this->successData($countries); } public function cityNeighborhoods($city_id) { $city = $this->cityService->find($city_id); $neighborhoods = $this->neighborhoodService->getAccordingToCity($city, 30)['rows']; return $this->successData(NeighborhoodResource::collection($neighborhoods)); } }
Back to File Manager