Searching from a range of ids in ActiveRecord

2020-04-01 09:06发布

问题:

How can I do something like this in range?

User.find(14000..14500)

I need to choose a certain range of Users starting and finishing on specifics ids.

回答1:

Use the where method:

User.where(id: 14000..14500)


回答2:

You can do it like this too:

User.find_by_id(14000..14500)


回答3:

Try this also

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

Ex -

User.find((14000..14500).to_a)


回答4:

You can use range definition for scoped:

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})