Rails 如何合并两个 ActiveRecord::Relation 的结果集

justin · 2013年05月12日 · 最后由 Rei 回复于 2013年05月13日 · 3927 次阅读

请教下大家一个问题,现在因为使用 ransack 这个 Gem,使用 search 查询功能时,要求对象必须是 ActiveRecord::Relation 如

first = SampleOrder.where(:id => 1)  
second = SampleOrder.where(:id => 2)

想要的结果是 result = first + second 且 result.class => ActiveRecord::Relation

望各位大神指点迷津!

SampleOrder.where(:id => [1, 2])

这个只是举个查询的例子而已,真实情况是从不同的表查找出相同的字段的数据,再合并~

貌似要用很高端的 raw sql 语句才可以..

#2 楼 @Justin 借助搜索引擎吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号