57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use fast\Tree;
|
|
use think\Model;
|
|
|
|
|
|
class Area extends Model
|
|
{
|
|
|
|
// 表名
|
|
protected $name = 'area';
|
|
|
|
|
|
public function getNameByCode($code){
|
|
return $this->where('area_code','=',$code)
|
|
->value('merge_name');
|
|
}
|
|
|
|
public function getTree(){
|
|
|
|
$res = $this->field(['city_code','code','name','level','province_code'])
|
|
->where('level','<',3)
|
|
->select();
|
|
|
|
// dd($ruleList);
|
|
|
|
foreach ($res as &$v) {
|
|
$v = $v->toArray();
|
|
$v['state'] = ['selected' => false];
|
|
if ($v['level'] == 2){
|
|
$v['pid'] = $v['province_code'] ?: 0;
|
|
$v['parent'] = $v['province_code'] ?: '#';
|
|
}else{
|
|
$v['pid'] = $v['city_code'] ?: 0;
|
|
$v['parent'] = $v['city_code'] ?: '#';
|
|
}
|
|
$v['id'] = $v['code'];
|
|
$v['text'] = $v['name'];
|
|
unset($v['province_code']);
|
|
unset($v['city_code']);
|
|
unset($v['level']);
|
|
unset($v['code']);
|
|
}
|
|
// dd($res);
|
|
Tree::instance()->init($res)->icon =
|
|
[' ', ' ', ' '];
|
|
|
|
$res = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0));
|
|
// dd($res);
|
|
return $res;
|
|
}
|
|
|
|
|
|
}
|