Hello everyone
I need to access an attribute directly into a find. Is that possible?
For instance:
Topics.find(:all, :conditions => expiration_date-1.hour + " < NOW( )")
Here, expiration_date would be an attribute of Topics.
Thank you !
Hello everyone
I need to access an attribute directly into a find. Is that possible?
For instance:
Topics.find(:all, :conditions => expiration_date-1.hour + " < NOW( )")
Here, expiration_date would be an attribute of Topics.
Thank you !
I think you’d do something like this:
Topics.find(:all, :conditions => [“expiration_date < ?”, Time.now + 1.hour])
See http://www.railsbrain.com/api/rails-2.2.2/doc/index.html?a=M001891&name=find for more examples.
Regards, Craig
It helps, thanks!
But what if I have 2 conditions ?
For instance, is this possible?
Topics.find(:all, :conditions => ["expiration_date < ? AND attribute =", Time.now + 1.hours], yet_another_variable)
Thank you!
Topic.find(:all, :conditions => [“expiration_date < ? AND attribute = ?”, Time.now + 1.hour, yet_another_variable])
In other words, everything goes in the conditions array. The first element is the SQL fragment. Every other element is a value to be substituted for a ? in the SQL fragment. Rails will properly quote strings and dates.
Again, see the find docs [ http://www.railsbrain.com/api/rails-2.2.2/doc/index.html?a=M001891&name=find ] for examples. Also, the Rails Guides [ http://guides.rubyonrails.org ] are good, and the section on query conditions [ http://guides.rubyonrails.org/active_record_querying.html#conditions ] has more details.
Regards, Craig