| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php/** * Created by PhpStorm. * User: zhengmingwei * Date: 2019-07-14 * Time: 22:45 */namespace app\admin\model\unishop;use think\Model;class DeliveryRule extends Model{    // 表名    protected $name = 'unishop_delivery_rule';    // 自动写入时间戳字段    protected $autoWriteTimestamp = 'int';    // 定义时间戳字段名    protected $createTime = 'createtime';    protected $updateTime = 'updatetime';    protected $append = ['area_content'];    static $regionAll;    static $regionTree;    /**     * 可配送区域     * @param $value     * @param $data     * @return string     */    public function getAreaContentAttr($value, $data)    {        // 当前区域记录转换为数组        $regionIds = explode(',', $data['area']);        if (count($regionIds) === 373) return '全国';        // 所有地区        if (empty(self::$regionAll)) {            self::$regionAll = Area::getCacheAll();            self::$regionTree = Area::getCacheTree();        }        // 将当前可配送区域格式化为树状结构        $alreadyTree = [];        foreach ($regionIds as $regionId)            $alreadyTree[self::$regionAll[$regionId]['pid']][] = $regionId;        $str = '';        foreach ($alreadyTree as $provinceId => $citys) {            $str .= self::$regionTree[$provinceId]['name'];            if (count($citys) !== count(self::$regionTree[$provinceId]['city'])) {                $cityStr = '';                foreach ($citys as $cityId)                    $cityStr .= self::$regionTree[$provinceId]['city'][$cityId]['name'];                $str .= ' (<span class="am-link-muted">' . mb_substr($cityStr, 0, -1, 'utf-8') . '</span>)';            }            $str .= '、';        }        return mb_substr($str, 0, -1, 'utf-8');    }}
 |