如何缩短此查询轨道群?

时间:2016-03-04 16:52:48

标签: ruby-on-rails ruby ruby-on-rails-4

我的查询群可能会成为问题。我想缩短它,但我不知道该怎么做。

0

正如您所看到的,有太多的查询。如何减少查询量?

1 个答案:

答案 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的第一个查询中加载用户的所有频道。