Skip to content

Commit

Permalink
Removed unclear doc in AR querying guide [ci skip]
Browse files Browse the repository at this point in the history
The range example used in array conditions is unclear and talks about
the old 'conditions' option. Closes rails#4943.
  • Loading branch information
vijaydev committed Apr 29, 2012
1 parent 0b019cc commit 6bea191
Showing 1 changed file with 0 additions and 16 deletions.
16 changes: 0 additions & 16 deletions guides/source/active_record_querying.textile
Expand Up @@ -356,20 +356,6 @@ Client.where("created_at >= :start_date AND created_at <= :end_date",

This makes for clearer readability if you have a large number of variable conditions.

h5(#array-range_conditions). Range Conditions

If you're looking for a range inside of a table (for example, users created in a certain timeframe) you can use the conditions option coupled with the +IN+ SQL statement for this. If you had two dates coming in from a controller you could do something like this to look for a range:

<ruby>
Client.where(:created_at => (params[:start_date].to_date)..(params[:end_date].to_date))
</ruby>

This query will generate something similar to the following SQL:

<sql>
SELECT "clients".* FROM "clients" WHERE ("clients"."created_at" BETWEEN '2010-09-29' AND '2010-11-30')
</sql>

h4. Hash Conditions

Active Record also allows you to pass in hash conditions which can increase the readability of your conditions syntax. With hash conditions, you pass in a hash with keys of the fields you want conditionalised and the values of how you want to conditionalise them:
Expand All @@ -392,8 +378,6 @@ NOTE: The values cannot be symbols. For example, you cannot do +Client.where(:st

h5(#hash-range_conditions). Range Conditions

The good thing about this is that we can pass in a range for our fields without it generating a large query as shown in the preamble of this section.

<ruby>
Client.where(:created_at => (Time.now.midnight - 1.day)..Time.now.midnight)
</ruby>
Expand Down

0 comments on commit 6bea191

Please sign in to comment.