两个带有Active Record Rails的查询4

时间:2016-03-04 19:30:53

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

我在rails控制台中获得了这两个查询,但我想只使用相同的结果进行一次查询。我怎么能这样做?

表名:公司

  id         :integer          not null, primary key
  name       :string
  phone      :string
  email      :string

表名:用户

  id                     :integer          not null, primary key
  role                   :integer
  tier                   :integer
  company_id             :integer
  name                   :string
  email                  :string

表名:负责人

  id         :integer          not null, primary key
  company_id :integer
  user_id    :integer

这些查询:

user_ids = Responsible.where(company_id: 1).pluck(:user_id)
User.where(id: user_ids).agent_or_admin.tier1.pluck(:email)

(编辑:格式化代码块)

1 个答案:

答案 0 :(得分:0)

假设ResponsibleUserCompany的联接表,您可以执行以下操作:

User.joins(:responsibilities).where(responsible: {company_id: 1}).agent_or_admin.tier1.pluck(:email)

但是如果不知道代码中的结构是如何构建的,我就不能做其他的事情。