我有這種情況:Rails的 - 什麼是建立查詢多個標籤的最有效的方式
兩種型號: - 膳食 - 標籤
隨着many-to-many
關係,所以產品可以分配很多標籤。
沒有爲關聯附加表(meal_id
,tag_id
) 然後用戶選擇一些標籤(例如8)。
我必須寫在滑軌查詢(但也可以是僅SQL想法),其返回:已分配的至少一個標籤,從由用戶選擇的
- 膳食。
- 飯菜已分配的所有選擇標籤。
我不知道如何做到這一點的最有效的方式。你能幫我一下嗎?
Meal.rb
class Meal < ActiveRecord::Base
has_and_belongs_to_many :tags
end
Tag.rb
class Tag < ActiveRecord::Base
has_and_belongs_to_many :meals
end
你說的附加表(meal_id,tag_id)是另一個模型(我認爲),它的名字是什麼?順便說一下,爲什麼你需要另一個關聯表,如果你可以在你的產品表中添加一個'tag_id'的列,並且在你的標籤表中添加'meal_id'以符合關係 –
不,這不是另一個表。這只是聯想。我無法將tag_id添加到餐桌和meal_id來標記餐桌,因爲餐可以分配多個標記。 – user2948135
@ user2948135您應該在您的模型產品和標籤中顯示代碼,以便我們看到您的關聯是如何設置的。但是你上面的評論是錯誤的,實際上你可以做你說的不可以的,它被稱爲has_many協會。請參閱文檔:http://guides.rubyonrails.org/association_basics。html#這個有很多聯繫 –