登录
首页 >  Golang >  Go问答

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

来源:SegmentFault

时间:2023-01-20 21:57:07 439浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《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},
                ...
            ]
        },
        ...
    ]
}

正确答案

var data []Table1
db.Preload("Table2").Preload("Table2.Table3").Find(&data)

以上就是《gorm这样的关联应该怎么写查询》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>