是否可以使用ActiveRecord named_scope
创建一个带有sql OR
子句的查询?
当我使用
时Model.scope1.scope2
生成的查询是这些范围的结合。
答案 0 :(得分:0)
这不是命名范围的设计目的,但你可以使用它们和一些额外的代码来获得你需要的东西。
def combine_scopes(model)
(model.scope1 + model.scope2).uniq
end
或允许任何范围合并
def combine_scopes(model, scope1, scope2)
(model.send(scope1) + model.send(scope2)).uniq
end
你甚至可以改变它以允许任何数量的范围使用* args
答案 1 :(得分:0)