4

我正在尝试将 OR WHERE 查询到作为可标记的查询中,就像这样......

Business.tagged_with(params[:query], :any => true)

但我也想同时执行这样的 or_where ......

Business.tagged_with(params[:query], :any => true).or_where('name LIKE ?', "%#{params[:query]}%")

这显然不起作用,因为没有 or_where 方法,但有人知道如何正确执行此操作吗?

简而言之,我试图找到与任何标签或公司名称相匹配的内容。谢谢。

4

1 回答 1

3

您可以使用 | OR 将两个查询组合在一起。像这样的运算符:

Business.tagged_with(params[:query], :any => true) | Business.where('name LIKE ?', "%#{params[:query]}%")

请注意,这将急切加载结果,因此在此之后您不能再应用任何条件,例如排序。它将返回一个包含所有匹配结果的数组,不包括重复项。

于 2011-06-21T02:41:08.587 回答