我将 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
没有成功(可能是错误的方式)。我无法得到预期的结果。