我有2个型号:
Contact -> has_many :messages
和
Message -> belongs_to :contact
我想从我的消息表中选择最后10个联系人(作为对象数组,不仅是ID)>
这是我的尝试(效果很好):
Contact.where(id: Message.pluck(:contact_id).uniq.last(10))
有没有其他更好的方法或方法来做到这一点?
我有2个模型:Contact-> has_many:messages and Message->归属_to:contact我想从我的message表中选择最后10个contact(作为对象数组,不仅是id),这是...
我将尝试在一个数据库查询中执行此操作。
Contact
.distinct
.joins(:messages)
.order('messages.created_at DESC')
.limit(10)
您可以尝试以下查询: