Ruby on rails Rails-构建ActiveRecord查询?
我有一个模型用户和一条模型消息 我想做的是给一个用户,确定他们最后一次查看消息的时间(如果有) 给定用户,我需要找到所有这些消息,然后在顶部按最近查看的\u排序,然后获取该记录并在时间戳(如果有)输出查看的\uRuby on rails Rails-构建ActiveRecord查询?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个模型用户和一条模型消息 我想做的是给一个用户,确定他们最后一次查看消息的时间(如果有) 给定用户,我需要找到所有这些消息,然后在顶部按最近查看的\u排序,然后获取该记录并在时间戳(如果有)输出查看的\u @user = User.find(2) @user.find(:first, :conditions => user.messages.viewed_at != nil) 但那不行,建议?感谢@user.messages。首先(:order=>“在desc查看”) @user
@user = User.find(2)
@user.find(:first, :conditions => user.messages.viewed_at != nil)
但那不行,建议?感谢@user.messages。首先(:order=>“在desc查看”)
@user.messages.where(“查看时不为空”).order(“查看时描述”).first
@user.messages.first(:order=>“查看时描述”)
@user.messages.where(“查看的位置不为空”).order(“查看的位置描述”)。首先
是一个很好的资源
JDL上面的答案将起作用。此外,不确定“最小值/最大值”是否适用于日期,但如果适用,以下方法可能更有效:
@user.messages.where("viewed_at is not null").maximum("viewed_at")
这是一个很好的资源
JDL上面的答案将起作用。此外,不确定“最小值/最大值”是否适用于日期,但如果适用,以下方法可能更有效:
@user.messages.where("viewed_at is not null").maximum("viewed_at")
在rails 3中,:conditions语法已弃用。如果您不熟悉新语法,则没有问题。在rails 3中,:conditions语法已弃用。如果您不熟悉新语法,则没有问题。谢谢,但这不起作用,因为用户有多条消息,其中一些消息的“已查看”值为零。上面的查询正在拉入第一条记录,可能是nil。这是我想避免的。谢谢,但这不起作用,因为一个用户有几条消息,其中一些消息的浏览量为零。上面的查询正在拉入第一条记录,可能是nil。这是我想要避免的。