【发布时间】:2019-01-30 17:15:11
【问题描述】:
我正在尝试将查询结果扫描到由 gorm 模型组成的结果结构中。
代码构建并且查询通过,但结果数组包含如下默认值:
{{0 0 0 0 0 0 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC 0 0001-01-01 00:00:00 +0000 UTC { false}} {0 0 0 0 {0 false} {0 false} {0 false} 0001-01-01 00:00:00 +0000 UTC false {0 false} {0 false} { false} { false}}}
此外,结果数组的长度与查询结果应具有的长度完全相同(当我通过 pgadmin 手动尝试时),但它们的映射不正确。
这是可能的还是一个gorm bug。
代码:
主包
import (
"fmt"
"test/model"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
type Result struct {
model1 model.model1
model2 model.model2
}
func main() {
var result []Result
var err error
db, err := gorm.Open("postgres", "bla")
defer db.Close()
err = db.Raw(`SELECT t1.*, t2.*
FROM t1
INNER JOIN t2 on something
WHERE something`).Scan(&result).Error
for _, element := range result {
fmt.Println(element)
}
}
【问题讨论】:
-
请提供表格和go结构?可能是字段名设置不正确
-
名称肯定设置正确,因为如果我单独扫描每个模型,它就可以工作。