我有三個模型類別,ItemType和Item.In純英文我可以把我的要求爲:一個類別可以有零個或多個itemtypes.A ItemType只能屬於一個類別,並且可以零個或多個items.An項目屬於一個項目類型和通的itemtype.i've有關它們如下類別:如何通過關聯模型belongs_to
class Category < ActiveRecord::Base
has_many :item_types
has_many :items ,:through => item_types, :source => category
end
class ItemType < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord ::Base
belongs_to :item_type
end
現在,我怎麼一個項目有category.One我的觀點需要關聯顯示一個類別的所有項目。 當我查詢它作爲
Category.joins(:item_types,:items).where("categories.id=?",1)
我得到下面的SQL
SELECT "categories".* FROM "categories" INNER JOIN "item_types" ON "item_t
ypes"."category_id" = "categories"."id" INNER JOIN "item_types"
"item_types_categories_join" ON "item_types_categories_join"."category_id" =
"categories"."id" INNER JOIN "categories" "items_categor
ies" ON "items_categories"."id" = "item_types_categories_join"."category_id" WHERE
(categories.id=1)
誰能幫我出here.How得到下面的SQL
select * from categories
inner join item_type on categories.id=item_types.category_id
inner join items on item_types.id=items.item_type_id
where categories.id =1
錯字? 「:through =>子類別」否則無意義。 – Atastor
同樣的「聯合(:business_types,:企業)」 – Atastor
@Atastor我試過改變原來的名字..現在我已經確保它的一貫到處 – Ramoji