我的User
表格通过Company
表格与user_company
相关联。现在我想检索用户所属的公司名称。请问您能建议我使用的查询吗?
用户
has_many :companies, :through => :user_companies
公司
has_many :users, :through => :user_companies
用户不直接属于公司。
user.company.name
给出错误。我想找出用户所属的公司名称。
答案 0 :(得分:1)
由于用户有多家公司,因此为user.companies
。要获取名称,您可以执行以下操作: user.companies.map(&:name)
答案 1 :(得分:0)
@user.companies
将为您提供与该用户相关联的所有公司的数组
现在,您可以简单地遍历数组并获取每个公司的公司名称。
company_names = []
@user.companies.each {|entry| company_names << entry.name}
这是在user_companies
表中没有公司名称属性时
如果您这样做,您可以通过
UserCompany.where(:select=>"name", :user_id=> @user)