如何使用有很多通过条件

时间:2018-12-13 17:04:31

标签: ruby-on-rails model has-many-through has-many model-associations

我在导轨上有以下型号。

class User < ApplicationRecord
  has_many :vendors
  has_many :vendoritems, through: :vendors
  has_many  :products

end

class Vendorcode < ApplicationRecord
  has_many :vendoritems
end

class Vendoritem < ApplicationRecord
  belongs_to :vendorcode
  belongs_to :vendor
end

class Vendor < ApplicationRecord
  belongs_to :user
  has_many  :vendoritems
end

class Product < ApplicationRecord
    belongs_to  :user
    belongs_to  :vendorcode
    has_many    :vendoritems, XXXXX  
end

产品通过供应商代码和用户具有许多供应商项目。

如何实现这种关联。

2 个答案:

答案 0 :(得分:0)

我只想像这样的实例方法

class Product < ApplicationRecord
  belongs_to :user
  belongs_to :vendorcode

  def vendoritems
    user.vendoritems
  end
end

干杯!

答案 1 :(得分:0)

class Product < ApplicationRecord
    belongs_to  :user
    belongs_to  :vendorcode
    def vendoritems
        user.vendoritems.where('vendorcode =?', vendorcode.id)
    end    
end

我解决了这个问题。