我有一个很多表叫user->任务,我可以用这个查询任务:
var user models.User
DB.Find(&user, "user_addr=?", userAddr)
//log.Infof("find user: ", user)
DB.Model(&user).Related(&tasks, "Tasks")
但是,在我的任务中,我有一个子表,其中包含一对多,称为子任务。如何将其作为任务中的字段进行查询。这是我的任务结构:
type Tasks struct {
gorm.Model
TasksID int `json:"tasks_id"`
// TasksCreateTime is the hash value since it is unique
//TasksHash string `json:"tasks_hash"`
// tasks related fields
TasksTitle string `json:"tasks_title"`
TasksCreateTime time.Time `json:"tasks_create_time"`
TasksComment string `json:"tasks_comment"`
SubTasks []SubTask `json:"sub_tasks" gorm:"foreignkey:ID"`
}
我想查询数据并将其分配给子任务字段。
如何嵌套?
这种方式是否有效?
func FetchSyncTasksForUser(userAddr string, tasks *[]models.Tasks) {
log.Infof("fetch sync tasks for user %s ", userAddr)
var user models.User
DB.Find(&user, "user_addr=?", userAddr)
DB.Preload("Tasks").Preload("Tasks.SubTasks").Find(&user, "user_addr = ?", userAddr)
tasks = &user.Tasks
}
湖上湖
相关分类