4

I would like to get a list of objects that match a specified ID from datamapper.

I know I could use multiple 'or' conditions, but the list of id's can be in the hundreds.

Is there a datamapper command that is equivalent to the following sql?

select * from table where id in (1,2,3,4,5)
Ryan Gates
  • 4,352
  • 4
  • 46
  • 84
hyun
  • 63
  • 5

1 Answers1

10

You can! It will look something like this:

users = User.all(:id => [1,2,3])

EDIT: you can see this on the github page for dm-core:

  # If the value of a pair is an Array, we do an IN-clause for you.
  Person.all(:name.like => 'S%', :id => [ 1, 2, 3, 4, 5 ])

  # Does a NOT IN () clause for you.
  Person.all(:name.not => [ 'bob', 'rick', 'steve' ])
muffinista
  • 6,440
  • 2
  • 27
  • 23