【发布时间】:2015-06-08 18:08:21
【问题描述】:
我将 Go 与 GORM ORM 一起使用。 我有以下结构。关系很简单。一个城镇有多个地方,一个地方属于一个城镇。
type Place struct {
ID int
Name string
Town Town
}
type Town struct {
ID int
Name string
}
现在我想查询所有地方,并与他们的所有字段一起获取相应城镇的信息。 这是我的代码:
db, _ := gorm.Open("sqlite3", "./data.db")
defer db.Close()
places := []Place{}
db.Find(&places)
fmt.Println(places)
我的示例数据库有这些数据:
/* places table */
id name town_id
1 Place1 1
2 Place2 1
/* towns Table */
id name
1 Town1
2 Town2
我收到这个:
[{1 Place1 {0 }} {2 Mares Place2 {0 }}]
但我期待收到这样的东西(两个地方属于同一个城镇):
[{1 Place1 {1 Town1}} {2 Mares Place2 {1 Town1}}]
我怎样才能做这样的查询?我尝试使用 Preloads 和 Related 没有成功(可能是错误的方式)。我无法获得预期的结果。
【问题讨论】:
-
数据库中有什么?另外,你试过
Related功能吗? -
@robbrit 我已经改进了问题以反映数据库示例数据。不,但我现在尝试了
Related函数,但我仍然没有成功获得预期的结果。