123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- 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;
-
- 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');
- }
- }
|