gorm 的预加载怎么才能关掉软删除

发布于 2022-09-11 19:08:40 字数 839 浏览 11 评论 0

type CourseType struct {
    gorm.Model
    TypeName string
    CreatedAt time.Time
    UpdatedAt time.Time
}
type Course struct {
    gorm.Model
    Title string
    Price int32
    CourseTypeId int32  `gorm:"index;unsigned"`
    CourseType CourseType
    CreatedAt time.Time
    UpdatedAt time.Time
    DeletedAt *time.Time
}

/*
* @fuc 获取课程
*/
func  SelectCourse(p map[string]string) (Course, error) {
    var  course Course
    mydb  := db.GetInstance().GetMysqlDB()
    err  := mydb.Debug().Preload("CourseType", func(db *gorm.DB) *gorm.DB {
        return db.Select("id,type_name")
    }).Where("id = ?", p["id"]).Find(&course).Error

    if err !=  nil {
        return Course{}, errors.New("查询失败")
    }
    return course, nil
}

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2022-09-18 19:08:40

已解决 return db.Select("id,type_name,created_at").Unscoped() 闭包里面加上.Unscoped ()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文