67 行
1.6 KiB
PHP
67 行
1.6 KiB
PHP
<?php
|
|
|
|
namespace app\common\model;
|
|
|
|
use think\Db;
|
|
use think\Model;
|
|
|
|
/**
|
|
* 中国省份城市模型
|
|
* Class ChinaModel
|
|
* @package app\common\model
|
|
*/
|
|
class ChinaModel extends Model
|
|
{
|
|
protected $name = 'china';
|
|
|
|
/**
|
|
* 全国省份城市区县数据
|
|
* @return false|\PDOStatement|string|\think\Collection
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @throws \think\exception\DbException
|
|
*/
|
|
public function getChinaData()
|
|
{
|
|
$field = [
|
|
'id' => 'value',
|
|
'name' => 'label'
|
|
];
|
|
|
|
// 省份
|
|
$list = Db::name('china')
|
|
->where(['pid' => 0])
|
|
->field($field)
|
|
->order('id ASC')
|
|
->select();
|
|
|
|
foreach ($list as &$val) {
|
|
// 城市
|
|
// $val['children'] = Db::name('china')
|
|
// ->where(['pid' => $val['value']])
|
|
// ->field($field)
|
|
// ->order('id ASC')
|
|
// ->select();
|
|
// 区县
|
|
// foreach ($val['children'] as &$v) {
|
|
// $v['children'] = Db::name('china')
|
|
// ->where(['pid' => $v['value']])
|
|
// ->field($field)
|
|
// ->order('id ASC')
|
|
// ->select();
|
|
// }
|
|
}
|
|
|
|
return $list;
|
|
}
|
|
|
|
/**
|
|
* 获取省市区名称
|
|
* @param $id
|
|
* @return mixed
|
|
*/
|
|
public function getName($id)
|
|
{
|
|
return $this->where(['id' => $id])->value('name');
|
|
}
|
|
} |