Gorm 空查找到地图
Gorm empty Find to Map
我目前正在使用 gorm 在 GO 中查询 MySql 数据库。我正在查询一个 table,我只知道它的名字,其他一无所知。出于这个原因,我从查询 []map[string]interface{}
中 return,如 gorm 文档中所建议的那样(Find To Map,https://gorm.io/docs/advanced_query.html#Find-To-Map)。
我有以下问题:查询 returns 正确的元素数,但是是空映射(例如 [map[] map[] map[] map[]]
)。我不知道如何解决这个问题,有人可以帮助我了解问题所在吗?
谢谢。
编辑
代码示例:
db, err := gorm.Open("mysql", "connection_to_my_db")
[...]
var results []map[string]interface{}
err := db.Table("MyTable").Where("condition = ?", id).Find(&results).Error
if err != nil {
return nil, err
}
[...]
确保您使用的是 Gorm V2
git 发布标签 1.2。 Gorm V1 不支持查找到地图。查看此处有关如何升级 https://gorm.io/docs/v2_release_note.html#How-To-Upgrade
的说明
var results []map[string]interface{}
db.Table("MyTable").Where("condition = ?","foo").Find(&results)
// This "pretty" prints it to the console
b, _:= json.MarshalIndent(results, "", " ")
fmt.Println(string(b))
我遇到了同样的问题,我的gorm是v1.9.x
但是 Find
到 struct 就可以了,到 map 会得到 map[] 和正确的 num of result
我目前正在使用 gorm 在 GO 中查询 MySql 数据库。我正在查询一个 table,我只知道它的名字,其他一无所知。出于这个原因,我从查询 []map[string]interface{}
中 return,如 gorm 文档中所建议的那样(Find To Map,https://gorm.io/docs/advanced_query.html#Find-To-Map)。
我有以下问题:查询 returns 正确的元素数,但是是空映射(例如 [map[] map[] map[] map[]]
)。我不知道如何解决这个问题,有人可以帮助我了解问题所在吗?
谢谢。
编辑
代码示例:
db, err := gorm.Open("mysql", "connection_to_my_db")
[...]
var results []map[string]interface{}
err := db.Table("MyTable").Where("condition = ?", id).Find(&results).Error
if err != nil {
return nil, err
}
[...]
确保您使用的是 Gorm V2
git 发布标签 1.2。 Gorm V1 不支持查找到地图。查看此处有关如何升级 https://gorm.io/docs/v2_release_note.html#How-To-Upgrade
的说明var results []map[string]interface{}
db.Table("MyTable").Where("condition = ?","foo").Find(&results)
// This "pretty" prints it to the console
b, _:= json.MarshalIndent(results, "", " ")
fmt.Println(string(b))
我遇到了同样的问题,我的gorm是v1.9.x
但是 Find
到 struct 就可以了,到 map 会得到 map[] 和正确的 num of result