我有以下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+"%")
}
}
您可以使用Query
的*sql.DB
功能进行查询>
sel := "SELECT * FROM confessions WHERE $1 <@ categories"
categories := []string{"cat1", "cat2"}
rows, err := tx.DB().Query(sel, pq.Array(categories))