假设我在我的Rails应用程序中有3个模型... Establishment,WasteType和EstablishmentWaste... 我的问题是,我想要 获取与某个废物类型相关联的所有机构。通常会使用
需要帮助吗?
下面是类和数据模型 Establishment
因此,数据模型将如下所示。
Establishment.where(waste_type_id: some_number)
进行操作,但问题是,Establishment拥有多个WasteType,反之亦然,并且关联是通过第三方进行的...需要帮助吗?
下面是类和数据模型 Establishment
class Establishment < ActiveRecord::Base
# Include default devise modules.
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
has_many :containers
has_many :establishment_wastes
has_many :waste_types, through: :establishment_wastes, :foreign_key => 'establishment_id'
include DeviseTokenAuth::Concerns::User
end
废物类型
class WasteType < ActiveRecord::Base
has_many :containers
has_many :establishment_wastes
has_many :establishments, through: :establishment_wastes, :foreign_key => 'waste_type_id'
end
建立浪费
class EstablishmentWaste < ActiveRecord::Base
belongs_to :establishment, :foreign_key => 'establishment_id'
belongs_to :waste_type, :foreign_key => 'waste_type_id'
end
因此,数据模型将如下所示。