Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

is it possible to do a "where in" query with datamapper?

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)
like image 735
hyun Avatar asked Dec 27 '22 16:12

hyun


1 Answers

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' ])
like image 50
muffinista Avatar answered Dec 29 '22 10:12

muffinista