Reputation: 19150
I'm using Rails 5.0.3. How do I find all matching records using a finder? I have
my_obj = self.find_by_name_and_day_and_user_id(name, day, user_id)
but it returns only a single result. When I run turn on the SQL, it is adding a
LIMIT 1
clause. How do I write a finder method that will return all results and not just one?
Upvotes: 0
Views: 736
Reputation: 651
find_by
method always return first matching record. So you should use where
clause which will return all matching records.
my_obj = self.where(name: name, day: day, user_id: user_id)
Upvotes: 0
Reputation: 2020
You should use where
, like so
self.where(name: name, day: day, user_id: user_id)
Upvotes: 3