通过pq.StringArray属性查询GORM数据库

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

我有以下gorm.Model,我想查询我的Postgres数据库以返回其.Categories属性中具有特定类别的Confessions,但是我不知道如何在pq.StringArray中查询。有解决方法吗?

type Confession struct {
    gorm.Model
    User       string         `json:"User"`
    Title      string         `json:"Title"`
    Body       string         `json:"Body"`
    Mood       string         `json:"Mood"`
    Categories pq.StringArray `gorm:"type:varchar(64)[]" json:"Categories"`
}

这是我尝试查询的方式,但是使用LIKE运算符会引发错误。

if categories != nil {
        for _, cat := range categories {
            tx = tx.Where("Categories LIKE ?", "%"+cat+"%")
        }
    }
postgresql go gorm pq
1个回答
0
投票

您可以使用Query*sql.DB功能进行查询>

sel := "SELECT * FROM confessions WHERE $1 <@ categories"
categories := []string{"cat1", "cat2"}
rows, err := tx.DB().Query(sel, pq.Array(categories))
© www.soinside.com 2019 - 2024. All rights reserved.