123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- namespace app\model\store;
- use app\model\other\Category;
- use crmeb\basic\BaseModel;
- use crmeb\traits\ModelTrait;
- use think\Model;
- /**
- * 门店列表
- * Class SystemStore
- * @package app\model\store
- */
- class SystemStore extends BaseModel
- {
- use ModelTrait;
- /**
- * 数据表主键
- * @var string
- */
- protected $pk = 'id';
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'system_store';
- /**
- * @return \think\model\relation\HasOne
- */
- public function categoryName()
- {
- return $this->hasOne(Category::class, 'id', 'cate_id')->where('group', 5)->field('id,pid,name')->bind([
- 'cate_name' => 'name'
- ]);
- }
- /**
- * @return \think\model\relation\HasOne
- */
- public function category()
- {
- return $this->hasOne(Category::class, 'id', 'cate_id')->where('group', 5);
- }
- /**
- * 经纬度获取器
- * @param $value
- * @param $data
- * @return string
- */
- public static function getLatlngAttr($value, $data)
- {
- return $data['latitude'] . ',' . $data['longitude'];
- }
- /**
- * id
- * @param Model $query
- * @param $value
- */
- public function searchIdAttr($query, $value)
- {
- if ($value) {
- if (is_array($value))
- $query->whereIn('id', $value);
- else
- $query->where('id', $value);
- }
- }
- /**
- * cate_id
- * @param Model $query
- * @param $value
- */
- public function searchCateIdAttr($query, $value)
- {
- if ($value) {
- if (is_array($value))
- $query->whereIn('cate_id', $value);
- else
- $query->where('cate_id', $value);
- }
- }
- /**
- * 店铺类型搜索器
- * @param Model $query
- * @param $value
- */
- public function searchTypeAttr($query, $value)
- {
- if ($value !== '') {
- switch ((int)$value) {
- case 1://营业中
- case 0://休息中
- $query->where(['is_del' => 0, 'is_show' => 1]);
- break;
- case -1://已停业
- $query->where(['is_del' => 0, 'is_show' => 0]);
- break;
- default:
- $query->where(['is_del' => 0]);
- break;
- }
- }
- }
- /**
- * is_show搜索器
- * @param $query
- * @param $value
- */
- public function searchIsShowAttr($query, $value)
- {
- if ($value !== '') $query->where('is_show', $value);
- }
- /**
- * is_del搜索器
- * @param $query
- * @param $value
- */
- public function searchIsDelAttr($query, $value)
- {
- if ($value !== '') $query->where('is_del', $value);
- }
- /**
- * is_store搜索器
- * @param $query
- * @param $value
- */
- public function searchIsStoreAttr($query, $value)
- {
- if ($value !== '') $query->where('is_store', $value);
- }
- /**
- * 手机号,id,昵称搜索器
- * @param Model $query
- * @param $value
- */
- public function searchKeywordsAttr($query, $value)
- {
- if ($value != '') {
- $query->where('id|name|introduction|phone|detailed_address|address', 'LIKE', "%$value%");
- }
- }
- }
|