2016-03-04 89 views
0

我在rails控制檯中得到了這兩個查詢,但我想只做一個查詢,結果相同。我該怎麼做?兩個查詢在一個與活動記錄導軌4

表名稱:公司

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 

表名:responsibles

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

請更新具體的代碼,您可能還想了解如何更好地設置您的文章的格式,以便它可以閱讀。 –

+1

對用戶和公司來說'負責'是一個連接表嗎?我們對你的代碼一無所知,幫助我們。 –

+0

您可以發佈agent_or_admin和tier1方法以及它的位置? – toddmetheny

回答

0

假設Responsible是爲UserCompany連接表,你可以這樣做:

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

但不知道事情是如何在你的代碼結構,我真的不能做其他事情。

+0

是的,負責人是第三張桌子,因爲用戶和公司之間的關係很多。我試過這個查詢,但沒有奏效。我用三張表格編輯了這個問題的描述。謝謝! –

+0

它以什麼方式「不起作用」?如果您希望我們幫助調試,則需要更具體。 –