【发布时间】:2022-01-16 09:59:21
【问题描述】:
这是模型的外观:
type Board struct {
Id uint `gorm:"primaryKey;autoIncrement;unique" json:"id"`
Owner uint `json:"owner"`
Name string `json:"name"`
Contributors datatypes.JSON `gorm:"type:jsonb" json:"contributors"`
GeneratedLink string `gorm:"default:''" json:"generated_link"`
Todos datatypes.JSON `gorm:"type:jsonb" json:"todos"`
}
这是贡献者值在 postgresql 列中的显示方式:
以及如何进行查询以检查贡献者数组是否包含例如 20?
我试着这样做:database.DB.Where("contributors IN ?", 20).Find(&contBoards)
但出现错误:ERROR: syntax error at or near "$1" (SQLSTATE 42601)
请有任何想法,任何选项。 P.S 使用 gorm、postgresql
【问题讨论】:
-
IN将切片作为参数。试试("contributors IN ?", []int{20}) -
@sberry 有一个空数组,但我应该从表中至少收到一列
标签: arrays database postgresql go go-gorm