2013-07-31 94 views
1

我有兩個相關的表,'發佈'&'軌道'分別包含字段'名稱'和'isrc'。軌道刪除連接表中的記錄

當release.name等於某個值時,例如「Thriller」,我試圖從數據庫中刪除所有曲目。

這裏的關係是'track'belongs_to'release'和'release'has_many'tracks'。

任何人都可以幫助我如何在Rails控制檯內實現這個功能嗎?

+0

請貼協會在這裏。 –

回答

1

在你的發佈模式:

has_many :tracks, dependent: :destroy 

當你摧毀釋放這將刪除從數據庫中釋放相關聯的所有曲目。

您可以通過在控制檯

release = Realse.where(name:"Thriller").first 
release_id = release.id 
release.destroy 
tracks = Track.where(release_id:release_id) 

變量曲目現在應該是空做這樣的事情進行測試。

0

它應該工作:

Track.delete_all("release_id in ?", Release.select("id").where(name: 'Thriller')) 

感謝

+0

所有工作現在,謝謝! – edhamilton812