我有一个人可以在网站上完成多项活动的场景。所以我的人员活动如下:
class User < ActiveRecord::Base
has_many :activities
和类似的活动模型
class Activity < ActiveRecord::Base
belongs_to :user
现在我想按照他们最近的网站活动顺序找到用户及其活动..
例如,如果用户A今天完成了活动A和B,而用户B大约一周前完成了活动C,则用户A应该列在用户B上方。
这可以通过编写SQL查询来完成,但我不确定它们是否是一种很好的做事方式。
先谢谢!!
答案 0 :(得分:0)
我认为没有铁路方式。如果您使用的是Rails 3,可以试试这个:
Activity.order('created_at DESC')
如果你正在使用Rails 2,你可以像Sam在上面的评论中所说的那样做。
Activity.all(:order => 'created_at DESC')
例如,如果您只想要最近10个活动,或者只想要自昨天以来的活动,那么您可以这样做
Activity.order('created_at DESC').limit(10)
Activity.where('created_at >= ?', Date.yesterday.midnight).order('created_at DESC')