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

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
}

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

leunico
leunico
最佳答案

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

5年前 评论
讨论数量: 1
leunico

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

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!