| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- // +----------------------------------------------------------------------
- // | likeadmin快速开发前后端分离管理后台(PHP版)
- // +----------------------------------------------------------------------
- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
- // | 开源版本可自由商用,可去除界面版权logo
- // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
- // | github下载:https://github.com/likeshop-github/likeadmin
- // | 访问官网:https://www.likeadmin.cn
- // | likeadmin团队 版权所有 拥有最终解释权
- // +----------------------------------------------------------------------
- // | author: likeadminTeam
- // +----------------------------------------------------------------------
- namespace app\common\model;
- use app\common\service\FileService;
- use think\facade\Db;
- use think\Model;
- /**
- * 基础模型
- * Class BaseModel
- * @package app\common\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) : '';
- }
- public static function getDb(){
- $model = new static();
- return $model->db()->getTable();
- }
- /**
- * 批量更新字段
- * 获取DB 对象并赋予 模型本身的 connection 连接
- * @return mixed
- */
- public static function updateWhenCase($datas)
- {
- if(is_array($datas) && count($datas) > 0 ){
- $ids = array_keys($datas);
- if(is_array(reset($datas))){
- $fields = array_keys(reset($datas));
- $sql= " update ". self::getDb() ." set ";
- foreach($fields as $field ){
- $sql.= " `$field` = ( case id";
- foreach($datas as $id => $data ){
- $sql.= " when $id then ".self::stringFilter($data[$field])." ";
- }
- $sql.= " end ),";
- }
- $sql = substr($sql,0,-1);
- $sql.= " where id in (".implode(",",$ids).")";
- Db::execute($sql);
- }
- }
- }
- public static function stringFilter($string)
- {
- if(is_null($string)) {
- return 'null';
- }
- return "'" . str_replace("'","\'",$string) . "'";
- }
- }
|