Files
backend_vib360_laravel/app/Http/Controllers/LocationController.php

97 lines
2.3 KiB
PHP
Raw Permalink Normal View History

2025-04-08 15:12:48 +05:30
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Models\Country;
use App\Models\Models\State;
2025-04-08 16:24:43 +05:30
use App\Models\Models\City;
2025-04-08 15:12:48 +05:30
class LocationController extends Controller
{
public function getCountries()
{
2025-04-08 16:24:43 +05:30
$countries = Country::select('id', 'name', 'phonecode')->get();
2025-04-08 15:12:48 +05:30
return response()->json([
'data' => $countries
]);
}
// public function getState($id){
// $state = State::with('getCountryName')->select('id','name')
// }
2025-04-08 16:24:43 +05:30
// public function getState($countryName)
// {
// $country = Country::where('name', $countryName)->first();
// if (!$country) {
// return response()->json([
// 'status' => false,
// 'message' => 'Country not found.'
// ], 404);
// }
// $states = State::with('getCountryName')
// ->where('country_xid', $country->id)
// ->select('id', 'name')
// ->get();
// return response()->json([
// // 'status' => true,
// 'data' => $states
// ]);
// }
public function getState(Request $request)
{
$countryName = $request->query('country_name');
$country = Country::where('name', $countryName)->first();
if (!$country) {
return response()->json([
'status' => false,
'message' => 'Country not found.'
], 404);
}
$states = State::with('getCountryName')
->where('country_xid', $country->id)
->select('id', 'name')
->get();
return response()->json([
// 'status' => true,
'data' => $states
]);
}
public function getCity(Request $request) {
$stateName = $request->query('state_name');
$state = State::where('name', $stateName)->first();
if (!$state) {
return response()->json([
'status' => false,
'message' => 'Country not found.'
], 404);
}
$states = city::with('getCityName')
->where('state_xid', $state->id)
->select('id', 'name')
->get();
return response()->json([
// 'status' => true,
'data' => $states
]);
}
2025-04-08 15:12:48 +05:30
}