26

我怎样才能在范围内做这样的事情?

User.find(14000..14500)

我需要选择特定范围的用户开始和结束特定的 id。

4

4 回答 4

64

您可以使用以下where方法:

User.where(id: 14000..14500)

解释

这里的where方法接收一个简短形式的哈希参数,其中id键的值为 a Range

于 2012-05-27T10:13:01.687 回答
7

你也可以这样做:

User.find_by_id(14000..14500)
于 2012-05-27T11:14:35.467 回答
2

您可以对作用域使用范围定义:

User.find(1)       # returns the object for ID = 1
User.find([1])

User.find(1, 2, 9) # returns an array for objects with IDs in (1, 2, 9)
User.find([1, 2, 9])

User.scoped(:conditions => { :id => 1..9})
于 2013-11-03T20:18:36.790 回答
2

也试试这个

User.find((start..end).to_a)

前任 -

User.find((14000..14500).to_a)
于 2015-09-23T10:06:42.013 回答