我有一个关于 searchkick 的非常基本的问题。如果您希望使用 if 语句在 searchkick 查询中加入多个 where 语句怎么办。很像查询构建器
@product = Product.all
unless request.end_date.nil?
@product = @product.search, where('created_at <= ?', request.end_date)
end
unless request.max_price.nil?
@product = @product.search, where('price <= ?', request.max_price)
end
@product
如果请求具有结束日期或 max_price,则上述代码可以正常工作。如果两者都有,则会引发错误。有没有办法构造或连接两个 where 语句。我不能做
Product.search '*', where('created_at <= ?', request.end_date), where('price <= ?', request.max_price)
因为 if 语句很重要。