On Mon, Feb 21, 2011 at 2:48 PM, Paul Bergstrom
<lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org>wrote:
> I think I''m on the right track. But I get the first post for each
user,
> not the latest. This is what I use.
>
> Model.all(:select => "*, max(id)", :group => :user_id)
>
> How do get the latest?
>
> In Rails 3 syntax,
Post.where(:user_id => given_user_id).group(:user_id).order(:updated_at
DESC).limit(number).group_by(:&user_id)
First, group the results by user_id.
Then, order the updated_at or created_at in DESC order.
Then, you can limit the results for each user by passing a number.
Then, finally return a hash of all the results with keys as user_id for
easier and better retrieval.
> --
> 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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To unsubscribe from this group, send email to
>
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>
--
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-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.