2016-03-29 176 views
0

我有一個product表,它列出了用戶創建的所有產品。在產品表中有country這表明產品的來源。現在,使產品的國家看到,用戶表必須有1Ruby on Rails表關係

merchant status下面的代碼是用來從產品表拉國家:

@countries = Product.select(:country).distinct.where("country is not null and country <> ''").pluck(:country) 

產品型號:

class Product < ActiveRecord::Base 
belongs_to :user 
end 

用戶型號:

class User < ActiveRecord::Base 
has_many :products 
end 

我該如何修改上面的代碼,所以我t將在用戶表中包含merchant_status?意思是我只需要在用戶表中輸入merchant_status = 1就可以列出國家列表。謝謝!!

+2

你可以試試這個'Product.joins(:用戶)。凡( 「國家不是空和國家<> ''」)。凡(:用戶= > {:merchant_status => 1})。pluck(:country)' –

+0

@VishalJAIN謝謝!它工作正常 – d3bug3r

+0

@VishalJAIN請將它作爲答案發布,並讓OP接受它。 –

回答

1

你可以試試這個方法:

Product.joins(:user).where("country is not null and country <> ''").where(:users => {:merchant_status => 1}).pluck(:country)