如何使用Activerecord查找([34,183])条件

时间:2014-05-28 18:15:16

标签: ruby-on-rails ruby activerecord

在Activerecord rails中,我们使用find[(a,b)]来获取a和b之间有id的所有行。如何在这个函数中添加条件,我们可以将'id'列与匹配的某个整数匹配。

我尝试了下面的代码但是没有用。

User.find([34,183], :conditions => {:id => 4}).

1 个答案:

答案 0 :(得分:3)

请参阅docs regarding range conditions

User.where(id: 34..183)

这将生成以下SQL语句:

SELECT * FROM users WHERE (users.id BETWEEN '34' AND '183')

要附加其他 ActiveRecord where查询的结果,请使用merge方法:

users = User.where(id: 34..183)
user = User.where(id: 4)

users.merge(user)