我正在尝试将查询结果扫描到由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)
    }
}