(使用导轨 4)
我有一个订阅Event
模型。has_many
在事件列表中,我显示订阅数。在我看来,要为我拥有的每个事件执行此操作:
event.subscriptions.count
但是,这会导致性能下降,因为对于每个事件,都会执行后续查询来获取subscriptions
计数。
为了解决这个问题,我想获得所有订阅,类似于以下内容:
subscription_count = Event.all.map { |e| {e.id => e.subscriptions.count} }
event id
然后,我不会对每个事件执行查询,而是简单地在subscription_count
哈希中查找。但是,这显然仍然单独执行所有查询。有没有办法一次执行一些聚合查询来完成这项工作?
谢谢!