createFields)) { $M->allowField($M->createFields); } } // 更新前 public static function onBeforeUpdate($M){ // 过滤可更新字段 if (!empty($M->updateFields)) { $M->allowField($M->updateFields); } } // 定义全局的查询范围 /** * 封装简化查询范围(更加语义化,重要) */ // 开启状态 public function scopeStatus($query,$status = 1){ $query->where('status',$status); } // 搜索器(非常重要) // 创建时间 public function searchCreateTimeAttr($query, $value, $data) { $query->whereBetweenTime('create_time', $value[0], $value[1]); } // 更新时间 public function searchUpdateTimeAttr($query, $value, $data) { $query->whereBetweenTime('update_time', $value[0], $value[1]); } // 获取器(处理输出字段) // 常用增删改查方法 /** * 1. 修改状态 * 前提: * (1) 参数:id和status * (2) 使用 validate 的isExist */ public function _UpdateStatus() { $request = request(); return $request->Model->save([ 'status'=>$request->param('status') ]); } // 判断当前用户是否有操作该信息的权限 public function __checkActionAuth(){ $request = request(); if ($request->Model->user_id !== $request->UserModel->id) { return ApiException('非法操作'); } } // 获取文件完整url public function getFileUrl($url='') { if (!$url) return; //return url($url,'',false,true); return $url; } // 列表 public function Mlist(){ $param = request()->param(); $limit = intval(getValByKey('limit',$param,10)); $page = intval(getValByKey('page',$param,1)); $totalCount = $this->count(); $list = $this->page($page,$limit)->order([ 'order'=>'desc', 'id'=>'desc' ])->select(); return [ 'list'=>$list, 'totalCount'=>$totalCount ]; } // 创建 public function Mcreate(){ return $this->create(request()->param()); } // 修改 public function Mupdate(){ $param = request()->param(); return request()->Model->save($param); } // 删除 public function Mdelete(){ return request()->Model->delete(); } public function MdeleteAll(){ $param = request()->param('ids'); // 找到所有数据并删除 return $this->where('id','in',$param)->delete(); } //根据token 判断是用户端还是后台 编辑 public function setAuthorAttr($value,$data) { $token=request()->header('token'); // 获取用户信息 $user = cms_getUser([ 'token'=>$token, 'tag'=>'user' ]); if($user['id']){ if(isset($data['id'])&&$data['id']){ $this->set('update_user',$data['author']); }else{ $this->set('create_user',$data['author']); } } else { if(isset($data['id'])&&$data['id']){ $this->set('update_author',$data['author']); }else{ $this->set('create_author',$data['author']); } } } protected $append = [ // 'create_author'=>'create_author_text', // 'create_user'=>'create_user_text', // 'update_author'=>'update_author_text', // 'update_user'=>'update_user_text', ]; }