to_a is already used to return an Array of objects.

select_rows seems good to me.

But Arel and #to_sql seem to be used widely.

Yes, this is sad. They was never public API. But I think we can't do
anything besides make clear what is public and what is private API.

Rafael Mendonça França
http://twitter.com/rafaelfranca
https://github.com/rafaelfranca


On Thu, Apr 10, 2014 at 1:53 PM, Dheeraj Kumar <[email protected]>wrote:

> How about #to_a and #to_h instead?
>
> #to_h would return the results as a hash, useful when you are retrieving a
> single row, but many columns.
> #to_a would return the results as an array of hashes, useful when you have
> multiple rows.
>
>
> On Thu, Apr 10, 2014 at 10:11 PM, Rafael Mendonça França <
> [email protected]> wrote:
>
>> +1, too.
>>
>> I was planning to add this method because calling `to_sql` is not a good
>> solution. I think the name we choose was `select_all`.
>>
>> Rafael Mendonça França
>> http://twitter.com/rafaelfranca
>> https://github.com/rafaelfranca
>>
>>
>> On Thu, Apr 10, 2014 at 1:03 PM, Dheeraj Kumar <[email protected]
>> > wrote:
>>
>>> +1, I do this a lot.
>>> On Apr 10, 2014 9:30 PM, "Evgeniy Sokovikov" <[email protected]>
>>> wrote:
>>>
>>>> Hello. Is it possible to get raw sql query result from 
>>>> ActiveRecord::Relation ?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Now I can make it this way:
>>>>
>>>> sql = Note.select('count(*), commit_id').group(:commit_id).to_sql
>>>>
>>>>
>>>>
>>>>
>>>> ActiveRecord::Base.connection.execute(sql).to_a
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> I would like something like this:
>>>>
>>>>
>>>> Note.select('count(*), commit_id').group(:commit_id).raw
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> But didn't find such method.
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ruby on Rails: Core" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ruby on Rails: Core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Ruby on Rails: Core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/rubyonrails-core.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to