Как получить массив из базы данных Postgresql, используя GORM Golang? - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь получить несколько значений из базы данных Postgresql, используя jinzhu GORM Golang. Мой запрос может вернуть либо нет, одно или несколько значений. Я хочу, чтобы они были сохранены в массив. Вот фрагмент кода:

    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)
                }

Я ничего не получаю из запроса. Что я делаю неправильно? Спасибо!

1 Ответ

0 голосов
/ 27 января 2020

Это была ошибка с ошибкой в ​​моем запросе к базе данных. Неверное имя столбца. Совет Cerise Limon помог. Если кто-то сталкивается с этой проблемой, просто проверьте обработку ошибок Go и используйте log.Fatal

...