【发布时间】:2019-12-09 16:19:56
【问题描述】:
我有 2 个模型:
Contact -> has_many :messages
和
Message -> belongs_to :contact
我想从我的消息表中选择最后 10 个联系人(作为对象数组,而不仅仅是 id)
这是我的尝试(效果很好):
Contact.where(id: Message.pluck(:contact_id).uniq.last(10))
但是还有其他更好的方法吗?
编辑 我想从我的消息表中选择最后 10 个联系人
【问题讨论】:
-
什么是“最后 10 个联系人”?除非您没有向我们展示其他代码,例如
default_scope,否则您的代码本质上只是获取“10 个有消息的随机联系人”。 -
抱歉,我想从我的消息表中选择最后 10 个联系人
-
@spickermann 我想加载最近收到消息的10个联系人(通过消息的created_at)
标签: ruby-on-rails ruby activerecord ruby-on-rails-5