I am trying to define two variables as follows:
@orders = Customer.find_all_by_order_date(nil)
@nonorders = Customer.find_all_by_order_date(!nil)
The first works properly but the second doesn't. How can I find those customers whose order_date fields are not nil?
@nonorders = @customer.orders.find(:all, :conditions => "@customer.orders.order_date IS NOT NULL")
is giving me the following error:
undefined method 'extract_options_from_args!' for ActiveRecord::Base:Class
I've tried changing the conditions, such as @orders.order_date
, @customer.order.order_date
, etc. What's causing this error? Thank you!
Rails3:
@nonorders = Customers.where("customers.date IS NOT NULL")
Rails2:
@nonorders = Customers.find(:all, :conditions => "customers.date IS NOT NULL")
The string you pass as :conditions needs to be an sql fragment.
In the example given "customers.date" refers to the date field of the customers table. I think the "customers" bit is not strictly necessary, as the table name is clear from the context.
In your example the following should work:
@nonorders = @customer.orders.find(:all, :conditions => "order_date IS NOT NULL")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With