php处理全国省市区 数据从ecshop导入的
/**
* 获取全国省市区列表(格式化后)
*/
public function getRegionList()
{
$data = CoreRegion::find()->select(['region_id', 'region_name', 'parent_id', 'region_level'])->asArray()->all();
$data = $this->assembleRegionData($data);
return $data;
}
/**
* 重组地区数据
*/
public function assembleRegionData($data, $pid = 0)
{
$list = [];
foreach ($data as $k => $v) {
if ($v['parent_id'] == $pid) {
// 继续查找其子市区县
$v['list'] = $this->assembleRegionData($data, $v['region_id']);
// 如果子地区为空,则unset掉
if (empty($v['list'])) {
unset($v['list']);
}
$list[] = $v;
}
}
return $list;
}