🔓 Ultimate Webshell - Penetration Testing Tool

📖 File Reader

<?php
namespace app\api\model;
use think\facade\Db;
use think\Model;

class ModRegion extends Model
{
    protected $name = 'region';//表名

    /**
     * 地区联动(多维数组)
     */
    static function region_dw()
    {
        $arr_1 = ModRegion::where("level = 1")->field("id,pid,name,level")->order("id asc")->select();
        $arr_2 = ModRegion::where("level = 2")->field("id,pid,name,level")->order("id asc")->select();
        $arr_3 = ModRegion::where("level = 3")->field("id,pid,name,level")->order("id asc")->select();
        $new_arr2 = [];
        foreach($arr_2 as $v2){
            $data= [
                'value' => $v2['id'],
                'label' =>  $v2['name'],
                'pid' => $v2['pid']
            ];
            foreach($arr_3 as $v3){
                if($v2['id'] == $v3['pid']){
                    $data['children'][] = [
                        'value'=> $v3['id'],
                        'label' =>  $v3['name'],
                        'pid' => $v3['pid'],
                    ];
                }
            }
            $new_arr2[]=$data;
        }
        $new_arr1 = [];
        foreach($arr_1 as $v1){
            $data= [
                'value' => $v1['id'],
                'label' =>  $v1['name'],
                'pid' =>  $v1['pid'],
            ];
            foreach($new_arr2 as $nv2){
                if($v1['id'] == $nv2['pid']){
                    $data['children'][] = [
                        'value' => $nv2['value'],
                        'label' =>  $nv2['label'],
                        'pid' =>  $nv2['pid'],
                        'children' =>  $nv2['children']
                    ];
                }
            }
            $new_arr1[] = $data;
        }
        $region = [
            'value' => 0,
            'label' => '中国',
            'children' => $new_arr1,
        ];
        return $region;
    }

    /**
     * 地区联动查询
     * @param int $region_id 地区id
     */
    static function region_d($region_id=0)
    {
        $list = ModRegion::where("pid = $region_id")->field("id,pid,name,level")->order("id asc")->select()->toArray();
        return $list;
    }
}