【问题标题】:Using Include Query through Indirect Associations通过间接关联使用包含查询
【发布时间】:2013-04-19 15:54:10
【问题描述】:

我有一个users 表,其中有许多group users 和一个user account summary。所有这些表都具有相同的字段user_id。我希望将用户帐户摘要包含到组用户查询中。所以我想这样做......

@group.group_users.includes(:user_account_summary)

但它告诉我未找到关联的名称。如何修复查询以将用户的帐户摘要与组用户的摘要一起包含在内?甚至可能吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 join


    【解决方案1】:

    试试@group.group_users.includes(:user => :user_account_summary)。由于user_account_summaryUser 上的关联而不是GroupUser,因此关联必须通过User

    如果您想更频繁地使用关联,您还可以添加与GroupUser 匹配的user_account_summary 关系:

    class GroupUser < ActiveRecord::Base
      has_one :user_account_summary, :primary_key => 'user_id', :foreign_key => 'user_id'
    end
    

    【讨论】:

    • 很好的解释。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多