gorm这样的关联应该怎么写查询

type Table1 struct {
    Id      string  `gorm:"primary_key"`
    Table2s []*Table2 //has many
}

type Table2 struct {
    Id      string      `gorm:"primary_key"
    Table1Id string
    Table3s []*Table3   `gorm:"many2many:table2_table3"` //many2many
}

type Table3 struct {
    Id string `gorm:"primary_key"`
}

如上关系,通过table1的Id怎样查询所有table3与之关联的数据?
期望拿到的数据结构是这样的:

Table1:{
    Id:xxx,
    Table2s:[
        {
            Id:xxxxxx,
            Table3s:[
                {Id:x},
                {Id:xx},
                ...
            ]
        },
        ...
    ]
}
阅读 2.5k
1 个回答
var data []Table1
db.Preload("Table2").Preload("Table2.Table3").Find(&data)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题