2016-01-18 110 views
0

我想創建我的第一個數據庫的軌道,讓我存儲有關事件的數據。Rails的數據庫關係has_many:通過但多對多的關係

假設我有關於活動,場地和樂隊的信息。

每個事件都應該至少有一個地點和樂隊,但每個事件可能有多個地點和樂隊。 每個樂隊可以在不止一個事件。 每個場地可以舉辦多個活動。

好像「的has_many:通過」使用「事件」作爲「:通過」將IF有每個事件只有一個樂隊/場地對相應的關係。

那麼如果每個事件可以有多個樂隊和多個場地,我該怎麼辦?

在此先感謝。

回答

1

您將不得不創建表格events_venuesevents_bands並使用has_and_belongs_to_many來建立關係。有關詳細信息,請閱讀教程railscasts這裏:

Many to many

+0

這會不會讓我發現,一個樂隊正在演奏所有場地,反之亦然?謝謝! – Mike

+0

如果是這樣的話,你的模型關係應該是'事件'< - 多對多 - >'場地'和'場地'< - 多對多事件 - >'帶' – Yang

+0

這也需要事件< - 多對多 - >樂隊,是否正確? – Mike