在Rails 5中从另一个模型中选择归属模型的有效方法?

问题描述 投票:0回答:2

我有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),这是...

ruby-on-rails ruby activerecord ruby-on-rails-5
2个回答
2
投票

我将尝试在一个数据库查询中执行此操作。

Contact
  .distinct
  .joins(:messages)
  .order('messages.created_at DESC')
  .limit(10)

0
投票

您可以尝试以下查询:

© www.soinside.com 2019 - 2024. All rights reserved.