2013-03-14 126 views
1

首先,我是法國人,所以很抱歉我的英文很醜。SQL - Rails深嵌套連接

我有以下型號:

has_and_belongs_to_many :products 

產品

has_and_belongs_to_many :shops 
has_many :taggings 
has_many :tags, through: :taggings 

標記

belongs_to :tag 
belongs_to :product 

標籤

has_many :taggings 
has_many :products, through: :taggings 

我希望能夠做Shop.first.tags,所以我希望得到所有店鋪的產品標籤,在一個請求,如果可能的。如果我可以解釋,它會很好:)

回答

3

您還沒有爲您的Shop模型指定關鍵字tags。您需要添加該關係才能在單個對象上調用#tags

class Shop 
    # ... 
    has_many :tags, :through => :products 
    # ... 
end 
+0

太簡單了......我試着做一些類似Shop.joins(產品:[taggings::tags])...謝謝,它的工作原理! – 2013-03-14 16:19:52