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
}

图片描述

阅读 4.5k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题