On 9 Feb 2009, at 17:29, Gabi Ge wrote:
>
> I'd like to search for invoices in the database, having the date range
> set (from, to). The problem is that invoices whose issue dates match
> the
> 'from' or 'to' dates will not show up in results.
>
> For example:
> Created an invoice today ("2009-02-09"), and I'm searching by
> issue_date
> between from and to, these are the params:
>
> "filter"=>{"from"=>"2009-02-09", "to"=>"2009-02-09"}
Is the issue date a date column or a datetime column ?
if you have a datetime column containing 2009-02-09 14:00 and compare
it to 2009-02-09 then the 2009-02-09 is turned into 2009-02-09 00:00
which can mess things up for you.
Fred
>
>
> In the model I have the sql conditions, as well as a scope, looks like
> this:
>
> self.cond = Array.new
> self.cond << ["invoices.issue_date >= ?", from] unless from.blank?
> self.cond << ["invoices.issue_date <= ?", to] unless to.blank?
> result = join_conditions
> ---
> named_scope :filter, lambda { |invoice_filter|
> { :conditions => invoice_filter.sql_conditions }}
>
> The scope gets a filter object that has both 'from' and 'to' fields
> set.
> If I set the 'to' field to tomorrow's date, then the invoice will
> appear, but I don't understand why it wouldn't work as is since there
> are '<=' & '>=' comparisons in conditions.
>
> Any help or suggestion would be appreciated!
> --
> Posted via http://www.ruby-forum.com/.
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---