所以我有一个supabase postgres数据库设置,我试图使用gin为该数据库设置一个API。我正在使用nedpals/supabase-go连接到我的supplier客户端。我尝试根据请求参数链接多个过滤器,如下所示:
func GetCardsByAdvanceSearch(supabase *supa.Client) gin.HandlerFunc {
fn := func(context *gin.Context) {
sets, isSets := context.GetQueryArray("setCode")
colors, isColors := context.GetQueryArray("color")
var results []any
err := supabase.DB.From("cards").Select("*").Execute(&results)
if(isColors) { results.In("colors", colors)}
if(isSets) { results.In("set_code", sets)}
if err != nil {
panic(err)
}
context.JSON(http.StatusOK, gin.H{
"Results": results,
})
}
return gin.HandlerFunc(fn)
}
这是基于SupplyJS文档,它允许多个“In”过滤器。但是当我尝试这样做的时候,我总是得到错误,基本上results.In undefined (type []any has no field or method In)
不是一个适用于结果的方法,即使它应该基于文档。
帮帮忙,lol
1条答案
按热度按时间nbysray51#
您当前的代码实际上是在做这样的事情:
results
是一个切片,因此,正如错误所述,“没有字段或方法In”。In
需要在执行查询之前针对过滤器运行;以下是一些类似的东西(未经测试!):