I was wondering if anyone knew how to do an "IN" clause in activerecord. Unfortunately, the "IN" clause is pretty much un-googleable so I have to post here. Basically I want to answer a question like this "Give me all the college students that are in these dormitories where the dormitory id is in this array [id array]". I know how to write the query given a single dormitory id, but I don't know how to do it given an array of ids.
Any help is greatly appreciated. I'm sure this is a repost of a question somewhere, so I'll delete this once an answer/better search term is found.
From §2.3.3 Subset Conditions of the Rails Guides:
If you want to find records using the
IN
expression you can pass an array to the conditions hash:Client.where(:orders_count => [1,3,5])
This code will generate SQL like this:
SELECT * FROM clients WHERE (clients.orders_count IN (1,3,5))
You can also use the arel syntax:
Client.where(Client.arel_table[:order_count].in([1,3,5]))
Will generate the same SQL