我有兩個相關的表,'發佈'&'軌道'分別包含字段'名稱'和'isrc'。軌道刪除連接表中的記錄
當release.name等於某個值時,例如「Thriller」,我試圖從數據庫中刪除所有曲目。
這裏的關係是'track'belongs_to'release'和'release'has_many'tracks'。
任何人都可以幫助我如何在Rails控制檯內實現這個功能嗎?
我有兩個相關的表,'發佈'&'軌道'分別包含字段'名稱'和'isrc'。軌道刪除連接表中的記錄
當release.name等於某個值時,例如「Thriller」,我試圖從數據庫中刪除所有曲目。
這裏的關係是'track'belongs_to'release'和'release'has_many'tracks'。
任何人都可以幫助我如何在Rails控制檯內實現這個功能嗎?
在你的發佈模式:
has_many :tracks, dependent: :destroy
當你摧毀釋放這將刪除從數據庫中釋放相關聯的所有曲目。
您可以通過在控制檯
release = Realse.where(name:"Thriller").first
release_id = release.id
release.destroy
tracks = Track.where(release_id:release_id)
變量曲目現在應該是空做這樣的事情進行測試。
它應該工作:
Track.delete_all("release_id in ?", Release.select("id").where(name: 'Thriller'))
感謝
所有工作現在,謝謝! – edhamilton812
請貼協會在這裏。 –