# TP5实战源码--应用缓存获取城市信息 直接上源码 ~~~ /** * 获取城市下属地址分类信息 * Power by Mikkle * QQ:776329498 * @param string $cityid * @return array|mixed */ public function superCityPlace($cityid=""){ $this->cache = false; if (empty($cityid)||!is_numeric($cityid)){ return self::showReturnCodeWithOutData(1003); } if ($this->cache==true && Cache::has("city_place_$cityid")){ return Cache::get("city_place_$cityid"); }else{ $area=Db::table("my_area")->where(["cityid"=>$cityid])->field("areaid,areaname")->order('displayorder')->select(); $place = [] ; foreach($area as $item=>$value ){ $street_list = $this->getStreetByAreaid($value["areaid"]); if ($street_list){ $place[]=[ "areaid"=>$value["areaid"], "areaname"=>$value["areaname"], "street_list"=>$this->getStreetByAreaid($value["areaid"]), ]; } } Cache::set("city_place_$cityid",$place); return self::showReturnCode(1001,$place ); } } /** * Power by Mikkle * QQ:776329498 * @param $areaid * @return array|false|mixed|\PDOStatement|string|\think\Collection */ private function getStreetByAreaid($areaid){ if (empty($areaid)||!is_numeric($areaid)){ return []; }else{ if ($this->cache==true && Cache::has("area_place_$areaid")){ return Cache::get("area_place_$areaid"); }else { $place=Db::table("my_street")->where(["areaid" => $areaid])->field("streetid,streetname")->order('displayorder')->select(); Cache::set("area_place_$areaid", $place); return $place; } } } ~~~