我有一个具有这种结构的课堂模型:
type Classroom struct {
ID uint `json:"id"`
...
Progression Progression
}
和 Progression
结构如下:
type Progression struct {
ClassrromID int64 `json:"classroom_id"`
SubjectDone int64 `json:"subject_done"`
SubjectTotal int64 `json:"subject_total"`
ModuleDone int64 `json:"module_done"`
ModuleTotal int64 `json:"module_total"`
WebinarDone int64 `json:"webinar_done"`
WebinarTotal int64 `json:"webinar_total"`
QuizDone int64 `json:"quiz_done"`
QuizTotal int64 `json:"quiz_total"`
ExamDone int64 `json:"exam_done"`
ExamTotal int64 `json:"exam_total"`
}
如您所见,我想将所有用户进度和所需进度计算到 Progression
结构中
我如何创建 GORM 急切加载,以便我可以在每个教室都有 Progression
。
这是我的查询:
// my previous code here...
query = query.Preload("Progression", func(db *gorm.DB) *gorm.DB {
query := db.Debug()
// my custom query goes here...
return query
}).Find(&classrooms)
// my subsequent code here...