是否可以通过使用范围方法生成SQL`OR`子句?

我正在使用Ruby on Rails 3.2.2和Squeel gem。我想知道是否有一种方法可以使用多个范围方法来生成与这些范围方法SQL条件相关的OR子句的SQL查询。也就是说,我有:是否可以通过使用范围方法生成SQL`OR`子句?

class Article < ActiveRecord::Base 

def self.scope_method_1

... # scope_method_1 SQL conditions

end

def self.scope_method_2

... # scope_method_2 SQL conditions

end

def self.scope_method_combination

# I am looking for something like

#

# where{scope_method_1 | scope_method_2} # Note: The '|' means the SQL 'OR' clause in the Squeel context

#

# so to generate the following SQL query:

#

# SELECT FROM articles WHERE <scope_method_1 SQL conditions> OR <scope_method_2 SQL conditions>

end

end

是否有可能生成SQL OR条款与范围的方法(使用或不Squeel宝石)?

回答:

我们一直在squeel issue tracker上讨论这个,基本答案似乎是否定的。至少不适用于示波器;但如果你将范围转换成筛子,你可以。

以上是 是否可以通过使用范围方法生成SQL`OR`子句? 的全部内容, 来源链接: utcz.com/qa/257329.html

回到顶部