クエリの結果を、ゴーム モデルで構成される結果構造にスキャンしようとしています。
コードがビルドされ、クエリはパスしますが、結果の配列は次のような既定値で構成されます。
{{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 を介して手動で試した場合)、正しくマップされません。
これは可能ですか、それともゴームのバグですか。
コード:
パッケージメイン
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)
}
}