I want to use an array in the :conditions of an ActiveRecord Find so
that a SQL IN statement is created. However, I also want to specify a
greater than condition on a timestamp column too.
From the Docs:
An array may be used in the hash to use the SQL IN operator:
Student.find(:all, :conditions => { :grade => [9,11,12] })
How do I modify this so that it also contains the timestamp condition?
:condition => ['created_at > ?',time]
I’ve been doing Rails for a while and have never adopted the hash syntax for conditions. Someone else might be able to help you with that, but I know this will work:
Student.find :all, :conditions = >[“grade in (?) and created_at > ?”, [9,11,12], time]
I’ve been doing Rails for a while and have never adopted the hash syntax for conditions. Someone else might be able to help you with that, but I know this will work:
Student.find :all, :conditions = >[“grade in (?) and created_at > ?”, [9,11,12], time]
Yes, that’s it. If you like the Hash form for conditions, you might like DataMapper where the same query would look like: