> On 10 September 2010 05:41, Bob Smith <bsm...@gmail.com> wrote:
>> I'm trying to get a list of zip codes in my database with
>> 
>> zipstring = sprintf("select distinct zip from visits,households where
>> " +
>>  "households.id=visits.household_id and visits.month='%2d' and
>> visits.year = '%4d' " +
>>  "and visits.monthly = 1 order by households.zip;", datestart.month,
>> datestart.year, dateend, datestart)
>> 
>> @ziplist = Household.find_by_sql(zipstring)
>> 
>> this gives me an array of zip codes. Then I use
>> 
>>        <%= render :partial=>"monthly_report", :collection => @ziplist %>
>> 
>> to run monthly_report for each zip code. This is where the problem is.
>> If I try to put the variable into a find call, it isn't text.
>> 
>> If I look at it in the debugger, it's
>> 
>> #<Household zip: "01501">
>> 
>> and .to_s is
>> 
>> "#<Household:0xb68ad9e4>"
>> 
>> All I need is the 01501 part, but I'm getting the memory address in my
>> find call. Please help.
> 
> Can you not just use .zip on each element to get what you want?

He could.  Or since he's bypassing AR (for the most part) it might be easier to 
do...

@ziplist = Household.connection.select_values(zipstring)

>From the docs....
select_values(sql, name = nil)
Returns an array of the values of the first column in a select:
select_values("SELECT id FROM companies LIMIT 3") => [1,2,3]

-philip

-- 
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 rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to