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