find :all using :group

User.find(:all, :group => :os)

however, the result is an array having only one user for each os group. I'd like to have ALL the users grouped by :os though

One solution is to write

User.find(:all).group_by{|u| u.os}

However, I wonder if it could be done within the "find" method ?

Not really. By definition if you group using the database then you only get back one row for each value of the grouped column - that's just what group does in database and you want something else.

Fred

...such as :order => 'os ASC'

However, I wonder if it could be done within the "find" method ?

Not really. By definition if you group using the database then you only get back one row for each value of the grouped column - that's just what group does in database and you want something else.

Fred

I see, thanks for that Fred.

Thanks all for the replies a.