是什么导致我在 GORM 中收到错误“不支持的数据类型:&[]”?

问题描述 投票:0回答:1

我有一个 GORM 查询,我在其中提取了一个整数数组。

func (db *DB) GetAllTracks(ctx context.Context) ([]TrackMatches, error) {
    var results []TrackMatches
    qry := "select triages.htmltext_structure_hash as htmltext_structure_hash, array_agg(tracks.id) as track_ids from tracks cross join unnest(tracks.triage_ids) as i(item) join triages on triages.triage_id = i.item group by triages.htmltext_structure_hash;"
    if err := db.Raw(qry).Scan(&results).Error; err != nil {
        return results, err
    }

    return results, nil
}

type TrackMatches struct {
    HtmlTextStructureHash string        `json:"htmltext_structure_hash" gorm:"column:htmltext_structure_hash"`
    TrackIds              pq.Int64Array `json:"track_ids" gorm:"column:track_ids"`
}

当我拨打

Scan
电话时,我收到错误
unsupported data type: &[]
。我该如何解决这个问题?

postgresql go go-gorm
1个回答
0
投票

就我而言,我需要向 pq.Int64Array 列添加一个类型,如下所示:

type TrackMatches struct {
    HtmlTextStructureHash string        `json:"htmltext_structure_hash" gorm:"column:htmltext_structure_hash"`
    TrackIds              pq.Int64Array `json:"track_ids" gorm:"column:track_ids;type:int[]"`
}
© www.soinside.com 2019 - 2024. All rights reserved.