hasOne(User::class, 'id', 'user_id')->field('id,nickname,avatar,account'); } /** * @notes 关联分类 * @return \think\model\relation\HasMany * @author 段誉 * @date 2022/10/19 16:59 */ public function cateInfo() { return $this->hasOne(SupplyDemandCate::class, 'id', 'cate_id')->field('id,name'); } public function area(){ return $this->hasOne(AssetArea::class,'id','area_id'); } /** * @notes 状态描述 * @param $value * @param $data 状态 0 新增待发布 1审核中 2 审核成功 3审核失败 * @return string * @author 段誉 * @date 2022/9/15 11:25 */ public function getStatusDescAttr($value,$data){ $status = $data['status']; $desc = [ 0 => '新增待提交', 1 => '审核中', 2 => '审核成功', 3 => '审核失败', ]; return $desc[$status] ?? ''; } public function getTypeDescAttr($value,$data){ $type = $data['type']; $desc = [ 1 => '供应', 2 => '需求', ]; return $desc[$type] ?? ''; } /** * @notes 设置图片域名 * @param $value * @param $data * @return array|string|string[]|null * @author 段誉 * @date 2022/9/28 10:17 */ public function getContentAttr($value, $data) { return get_file_domain($value); } /** * @notes 清除图片域名 * @param $value * @param $data * @return array|string|string[] * @author 段誉 * @date 2022/9/28 10:17 */ public function setContentAttr($value, $data) { return clear_file_domain($value); } /** * @notes 清除图片域名 * @param $value * @param $data * @return array|string|string[] * @author 段誉 * @date 2022/9/28 10:17 */ public function setImagesAttr($value) { if(empty($value)){ return ''; } $imagesArr = explode(',',$value); $imagesStr = ''; foreach($imagesArr as $k=>$v){ if($k==0){ $imagesStr = clear_file_domain($v); }else{ $imagesStr .=','. clear_file_domain($v); } } return $imagesStr; } /** * @notes 加图片域名 * @param $value * @param $data * @return array|string|string[] * @author 段誉 * @date 2022/9/28 10:17 */ public function getImagesAttr($value,$data) { if(empty($data['images'])) return ''; $imagesArr = explode(',',$data['images']); $imagesStr = ''; foreach($imagesArr as $k=>$v){ if($k==0){ $imagesStr = FileService::getFileUrl(trim($v, '/')); //get_file_domain($v); }else{ $imagesStr .=','. FileService::getFileUrl(trim($v, '/')); //get_file_domain($v); } } return $imagesStr; } }