gpt4 book ai didi

mysql - 如何在 Jinzhu GORM 中创建 Left Join

转载 作者:IT王子 更新时间:2023-10-29 02:02:06 24 4
gpt4 key购买 nike

我无法在 jinzhu GORM(MySQL 数据库)中创建带左连接的简单查询

这些是我的结构:

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

type Status struct {
ID uint
Name string
}

Prop 有一个指向 Status 的外键

我想执行的 SQL 查询是:

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

所以我将从与状态表连接的 prop 表中检索所有记录

我试过:

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

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

最佳答案

嘿@arthur_mastropietro,我认为预加载 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 也有另一个结构作为它的字段之一,您可以通过调用一次加载它们预加载(“Status.Something”)

希望对您有所帮助!

关于mysql - 如何在 Jinzhu GORM 中创建 Left Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49849687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com