<?php namespace app\common\model; use app\common\service\FileService; use think\Model; class BaseModel extends Model { /** * @notes 公共处理图片,补全路径 * @param $value * @return string * @author 乔峰 * @date 2021/9/10 11:02 */ public function getImageAttr($value) { return trim($value) ? FileService::getFileUrl($value) : ''; } /** * @notes 公共图片处理,去除图片域名 * @param $value * @return mixed|string * @author 乔峰 * @date 2021/9/10 11:04 */ public function setImageAttr($value) { return trim($value) ? FileService::setFileUrl($value) : ''; } /** * 曲线统计 * @param $time * @param $type * @param $timeType * @return mixed */ public function getCurveData($where, $time, $str, string $group = 'create_time') { return $this->where($where) ->when(isset($time['timeKey']), function ($query) use ($time, $str, $group) { $query->whereBetweenTime($group, $time['timeKey']['start_time'], $time['timeKey']['end_time']); if ($time['timeKey']['days'] == 1) { $timeUinx = "%H"; } elseif ($time['timeKey']['days'] == 30) { $timeUinx = "%Y-%m-%d"; } elseif ($time['timeKey']['days'] == 365) { $timeUinx = "%Y-%m"; } elseif ($time['timeKey']['days'] > 1 && $time['timeKey']['days'] < 30) { $timeUinx = "%Y-%m-%d"; } elseif ($time['timeKey']['days'] > 30 && $time['timeKey']['days'] < 365) { $timeUinx = "%Y-%m"; } else { $timeUinx = "%Y-%m"; } $query->field("$str as number,FROM_UNIXTIME($group, '$timeUinx') as time"); $query->group("FROM_UNIXTIME($group, '$timeUinx')"); }) ->order("$group ASC")->select()->toArray(); } }