【发布时间】:2018-04-16 04:30:35
【问题描述】:
我无法在 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
所以我会从与状态表连接的道具表中检索所有记录
我试过了:
db.Find(&prop).Related(&status)
但没有成功。有人有什么建议吗?提前致谢
【问题讨论】:
-
这里是gorm的官方文档。 gorm.io/docs/query.html#Joins。希望对您有所帮助。
-
嘿@MarufTuhin 我试过了。但是连接的表没有填充:
var prop []model.Prop db.Table("prop").Select("*").Joins("left join status on prop.status_id = status.id").Scan(&prop)结果是:[ {"id":1,"Status":{"id":0,"name":""},"StatusID":1,"name":"Proposal},{"id":2,"Status":{"id":0,"name":""},"StatusID":2,"name":"Proposal 2"}] 如您所见,Status 对象返回空 -
我刚在某处读到,表需要预加载。尝试在此处预加载
status表。