Ruby on rails Rails Activerecord基于字段值的最后5条记录

Ruby on rails Rails Activerecord基于字段值的最后5条记录,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我想取最后5条记录,其中transfer=something。目前我使用的是:Model.limit(5).order('id desc'),但它显示了调用的最后5个。all。如何通过添加where子句或指定特定值作为查询的一部分来表达这一点?简单 Model.where(:transfer => 'something').order('id desc').limit(5) 但是,通过在处创建的或在处更新的而不是在处创建的id进行排序可能更有意义。我使用Desive和associatio

我想取最后5条记录,其中transfer=something。目前我使用的是:
Model.limit(5).order('id desc')
,但它显示了
调用的最后5个。all
。如何通过添加where子句或指定特定值作为查询的一部分来表达这一点?

简单

Model.where(:transfer => 'something').order('id desc').limit(5)

但是,通过在处创建的
或在
处更新的
而不是在
处创建的
id

进行排序可能更有意义。我使用Desive和associations来表示当前用户的呼叫记录基于与设施id匹配的转移id。我如何使用上面的代码来说明转移id=:id和:id在哪里传递?抱歉,如果我的措辞不正确,我有点新。我可以这样做:@last5=Call.where(:transfer\u from\u id=>'1')。order('id desc')。limit(5)但transfer\u from\u id'1'与User.rb中的设施\u id 1匹配,这样我就可以正确关联。如果用户的设备id为2,该怎么办?我如何使用您的代码获取该信息?设备id与从设备id转移到设备id有什么关系?你的问题中没有这一点。只需将
where
调用的参数替换为所需的条件即可。给定一个变量
id
其中(:transfer=>id)
。谢谢,我会尝试一下。设施id表示模型中的设施名称。我在我的评论中输入错误,忽略了两者之间的关系,解释我是如何建立关联(以及为什么)的时间太长了。