Let’s assume I have a model called ‘product.’ Let’s assume that product has three fields. These fields are ‘name’ (type string), ‘cost’ (type integer), and ‘is_visible’ (type bool).
1) How can I do a search query using the Rails ‘find’ method (if there is another method, that’s fine) so that I can search for all products with a cost greater than 100 AND is_visible is true?
2) What if we wanted to change this to search to where name != ” OR cost == 0?
This isn’t a problem to do an SQL, but I would like to think that Rails has a way to do AND/OR queries to the database without using SQL.
Thanks!
You would need to use the conditions option on the find method. The conditions option can be either a Hash, Array, or String. There are lots of options for conditions, so I recommend reading the API help for it. For example if you want to (1):
Or (2)