Files
crm-server/app/controller/AreaController.php
T

52 lines
1.2 KiB
PHP
Raw Normal View History

2025-03-14 14:27:33 +08:00
<?php
namespace app\controller;
use app\model\Area;
2025-03-19 13:27:22 +08:00
use app\model\Country;
2025-03-14 14:27:33 +08:00
use app\util\Util;
use support\Request;
class AreaController
{
public function getAll (Request $request)
{
$parentId = Util::getParam($request,'parent_id');
$level = Util::getParam($request,'level')?:1;
$list = $this->getRegions($parentId, $level);
2025-03-17 18:01:53 +08:00
return Util::success($list);
2025-03-14 14:27:33 +08:00
}
2025-03-17 18:01:53 +08:00
//递归查询
function getRegions($parentId = null, $level = 1, $child = true) {
2025-03-14 14:27:33 +08:00
$regions = [];
$where= array();
if(!Util::isEmpty($parentId)){
$where['parent_id'] = $parentId;
}
$where['level'] = $level;
$results = Area::where($where)->get();
foreach ($results as $row) {
2025-03-17 18:01:53 +08:00
if($child){
$row['children'] = $this->getRegions($row['id'], $row['level'] + 1);
}
2025-03-14 14:27:33 +08:00
$regions[] = $row;
}
return $regions;
}
2025-03-17 18:01:53 +08:00
public function getCountry (Request $request)
{
$level = Util::getParam($request,'level')?:1;
2025-03-19 13:27:22 +08:00
$list = Country::get()->toArray();
foreach ($list as &$row) {
$row['name'] = $row['cn_addr'];
}
2025-03-17 18:01:53 +08:00
return Util::success($list);
}
2025-03-14 14:27:33 +08:00
}