// +---------------------------------------------------------------------- declare (strict_types = 1); namespace app\api\model; use app\common\model\Region as RegionModel; use think\facade\Cache; /** * 地区模型 * Class Region * @package app\api\model */ class Region extends RegionModel { protected $globalScope = ['']; /** * @param int $pid * @return Region[]|array|mixed|\think\Collection|null * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function getCacheOptions(int $pid = 2069) { $datas = Cache::get("caches:region:options_{$pid}"); if($datas){ return $datas; } $datas = self::where(['pid'=> $pid]) ->field('id,name,code') ->select(); if($datas){ Cache::set("caches:region:options_{$pid}", $datas, rand(120, 300)); } return $datas; } }