You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
|
|
use App\Models\Carousel;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class CreateCityDataController extends ApiController
|
|
{
|
|
/**
|
|
* 根据省市生成数据
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
if(!$request->provinceId){
|
|
return [];
|
|
}
|
|
$province = DB::table('br_area')->where('area_id', $request->provinceId)->first();
|
|
// 二级地区
|
|
$dataTwo = [];
|
|
if($province){
|
|
$citys = DB::table('br_area')->where('area_parent_id', $request->provinceId)->get();
|
|
foreach($citys as $k=>$v){
|
|
// 3级地区
|
|
$district = DB::table('br_area')->where('area_parent_id', $v->area_id)->get();
|
|
$dataThree = [];
|
|
foreach($district as $k2=>$v3){
|
|
$dataThree[] = [
|
|
'name' => $v3->area_name,
|
|
'id' => $v3->area_id,
|
|
'pid'=> $v->area_id,
|
|
];
|
|
}
|
|
$dataTwo[] = [
|
|
'name' => $v->area_name,
|
|
'id' => $v->area_id,
|
|
'pid'=> $province->area_id,
|
|
'districtList' => $dataThree
|
|
];
|
|
}
|
|
}
|
|
$dataOne = [
|
|
'name' => $province->area_name,
|
|
'id' => $province->area_id,
|
|
'cityList' =>$dataTwo
|
|
];
|
|
return json_encode($dataOne, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
}
|