如何在金珠gorm中创建左连接

a2mppw5e  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(486)

我无法在jinzhu gorm(mysql数据库)中创建带有左连接的简单查询
这些是我的结构:

type Prop struct {
    ID          uint   
    Status      Status 
    StatusID    uint
    Name        string 
}

type Status struct {
    ID   uint   
    Name string
}

道具具有状态的外键
我要执行的sql查询是:

SELECT * from prop LEFT JOIN status ON prop.status_id = status.id

因此,我将从与状态表连接的prop表中检索所有记录
我试过:

db.Find(&prop).Related(&status)

但没有成功。有人有什么建议吗?提前谢谢

2admgd59

2admgd591#

嘿,亚瑟·马斯特罗皮特罗,我想 Prop 的关系 Status 是关键。请尝试以下操作:

prop := Prop{}
if err := db.Model(&prop).Preload("Status").Find(&prop).Error; err != nil {
  fmt.Println(err)
}
fmt.Printf("%+v\n", prop)

注意

你可以链接其他结构的预加载,例如 Preload("Status").Preload("Something"). …等等。事实上,你可以链大多数 Gorm 函数调用。
另外,如果 Status 还有另一个struct作为它的一个字段,您可以通过调用 Preload("Status.Something") 希望有帮助!

相关问题