Ruby on rails 使用Active Record Rails 4将两个查询合二为一
我在rails控制台中得到了这两个查询,但我只想用相同的结果进行一个查询。我怎么能做到 表名:公司Ruby on rails 使用Active Record Rails 4将两个查询合二为一,ruby-on-rails,ruby-on-rails-4,rails-activerecord,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
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)
(编辑:格式化代码块)假设
Responsible
是用户
和公司
的联接表,您可以执行以下操作:
User.joins(:responsibilities).where(responsible: {company_id: 1}).agent_or_admin.tier1.pluck(:email)
但是,如果不知道代码中的内容是如何构造的,我真的不能做很多其他事情 请使用特定的代码进行更新,您可能还想了解如何更好地格式化您的文章,以便阅读。
Responsible
是用户和公司的联接表吗?我们对您的代码一无所知,请帮助我们。您可以发布代理或管理员和tier1方法及其位置吗?是的,由于用户和公司之间的多对多关系,responsibles是第三个表。我尝试了这个查询,但没有成功。我用三个表格编辑了问题的描述。非常感谢。它以什么方式“不起作用”?如果希望我们帮助调试,您需要更具体一些。