返回 想要映射的表明
func (Article) TableName() string {
return "qlj_article"
}
package models
import (
"errors"
"gorm.io/gorm"
"time"
)
// Article 映射到 qlj_article 表
type Article struct {
gorm.Model
Title string `gorm:"size:255;default:null" json:"title"` // 文章标题
TID int `gorm:"not null;default:0" json:"tid"` // 所属栏目
Molds string `gorm:"size:50;default:'article'" json:"molds"` // 模型标识
Htmlurl string `gorm:"size:50;default:null" json:"htmlurl"` // 栏目链接
Keywords string `gorm:"size:255;default:null" json:"keywords"` // 关键词
Description string `gorm:"type:text" json:"description"` // 简介
SEOTitle string `gorm:"size:255;default:null" json:"seo_title"` // SEO标题
Userid int `gorm:"not null;default:0" json:"userid"` // 管理员ID
Litpic string `gorm:"size:255;default:null" json:"litpic"` // 缩略图
Body string `gorm:"type:mediumtext" json:"body"` // 文章内容
AddTime time.Time `gorm:"not null;default:0" json:"addtime"` // 添加时间
Orders int `gorm:"not null;default:0" json:"orders"` // 排序
Hits int `gorm:"not null;default:0" json:"hits"` // 点击次数
IsShow int `gorm:"not null;default:1" json:"isshow"` // 是否审核
CommentNum int `gorm:"not null;default:0" json:"comment_num"` // 评论数
IsTop string `gorm:"not null;default:0" json:"istop"` // 是否置顶
IsHot string `gorm:"not null;default:0" json:"ishot"` // 是否头条
IsTuijian string `gorm:"not null;default:0" json:"istuijian"` // 是否推荐
Tags string `gorm:"size:255;default:null" json:"tags"` // TAG标签
MemberID int `gorm:"not null;default:0" json:"member_id"` // 发布会员
Target string `gorm:"size:255;default:null" json:"target"` // 外链
Ownurl string `gorm:"size:255;default:null" json:"ownurl"` // 自定义链接
Jzattr string `gorm:"size:50;default:null" json:"jzattr"` // 推荐属性
Tids string `gorm:"size:255;default:null" json:"tids"` // 副栏目
Zan int `gorm:"default:0" json:"zan"` // 点赞数
Deleted_At string `gorm:"-"`
}
func (Article) TableName() string {
return "qlj_article"
}
func FindByIDUnscoped(db *gorm.DB, id uint) (*Article, error) {
var article Article
result := db.Unscoped().Model(&Article{}).Where("id = ?", id).First(&article)
if result.Error != nil {
if errors.Is(result.Error, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, result.Error
}
return &article, nil
}
func FindByIDWithDBUnscoped(db *gorm.DB, id uint) (*Article, error) {
var article Article
result := db.Unscoped().Model(&Article{}).Where("id = ?", id).First(&article)
if result.Error != nil {
if errors.Is(result.Error, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, result.Error
}
return &article, nil
}