如何使用 Golang 的 GORM 从 Postgresql 数据库中获取数组?

How to get an array from Postgresql database using Golang's GORM?

我正在尝试使用 Golang 的 jinzhu GORM 从 Postgresql 数据库中获取多个值。 我的查询可以 return none,一个或多个值。我希望将它们保存到一个数组中 这是代码片段:

    var zones []string 
    d := db //database

    d.Raw(`SELECT
           DISTINCT reg.name
           FROM
           regions reg
           LEFT JOIN
           ad_regions adreg ON adreg.region_id = reg.id
           WHERE adreg.id = ?`, ID).Scan(&zones)

我也试过这样做

var zones []string
rows, _ := d2.Raw(`SELECT
                    DISTINCT reg.name
                    FROM
                    regions reg
                    LEFT JOIN
                    ad_regions adreg ON adreg.region_id = reg.id
                    WHERE adreg.id = ?`, ad.ID).Rows()
defer rows.Close()
for rows.Next() {
                var zone string
                rows.Scan(&zone)
                zones = append(zones, zone)
                }

我没有从查询中得到任何信息。 我究竟做错了什么? 谢谢!

这是我的数据库查询中的拼写错误。列名错误。 Cerise Limon 的建议很有帮助。 如果有人遇到这个问题,只需检查 Go's Error Handling 并使用 log.Fatal