我在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)
(编辑:格式化代码块)
答案 0 :(得分:0)
假设Responsible
是User
和Company
的联接表,您可以执行以下操作:
User.joins(:responsibilities).where(responsible: {company_id: 1}).agent_or_admin.tier1.pluck(:email)
但是如果不知道代码中的结构是如何构建的,我就不能做其他的事情。