我的查询群可能会成为问题。我想缩短它,但我不知道该怎么做。
0
正如您所看到的,有太多的查询。如何减少查询量?
答案 0 :(得分:1)
ActiveRecord
提供了热切加载嵌套模型的功能:ActiveRecord::QueryMethods#includes
:
class Organization
scope :with_users, -> { includes(channel: :user) }
end
Organization.has_plan.with_users do |o|
o.channels.each do |c|
c.users.enabled.send_weekly_report.each do |u|
......
以上内容将在Organization
的第一个查询中加载用户的所有频道。