Ruby on Rails table relationship



我有一个product表,它列出了用户创建的所有产品。产品表中有country,表示产品的原产地。现在,为了使产品国家/地区可见,用户表必须具有merchant status,即1。

以下代码用于从产品表中提取国家/地区:

@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

我如何修改上面的代码,使其在用户表中包含merchant_status?意味着我只需要在用户表中列出merchant_status = 1的国家。谢谢

您可以尝试以下方式:

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

相关内容

  • 没有找到相关文章

最新更新