我有一個使用rails系統填充的數據庫。我正在嘗試返回並從其中一個表中刪除一個id列表。我正在使用以下命令刪除單個條目。使用ruby控制檯刪除多個數據庫條目
Item.find(1).destroy
我希望能夠用一個命令刪除一系列ID。 (即1,6,5,8,12,14)
Item.find(1,6,5,8,12,14).destroy
我知道這不工作,但多數民衆贊成在想什麼,我做的想法。我對ruby相當陌生,只是試圖確定最簡單的方法。
我有一個使用rails系統填充的數據庫。我正在嘗試返回並從其中一個表中刪除一個id列表。我正在使用以下命令刪除單個條目。使用ruby控制檯刪除多個數據庫條目
Item.find(1).destroy
我希望能夠用一個命令刪除一系列ID。 (即1,6,5,8,12,14)
Item.find(1,6,5,8,12,14).destroy
我知道這不工作,但多數民衆贊成在想什麼,我做的想法。我對ruby相當陌生,只是試圖確定最簡單的方法。
無需手動獲取項目時,Rails可以爲你做到這一點:
Item.destroy_all(id: [1, 6, 5, 8, 12, 14])
,或者如@ShankyMunjal貼,如果你可以只使用IDS ,你可以去:
Item.destroy([1, 6, 5, 8, 12, 14])
啊是的,的確有這樣的方法。 –
Item.destroy([1,6,5,8,12,14])
你只是需要DELET e記錄(在這種情況下,delete_all將是最好的),或銷燬依賴關聯並調用回調(destroy_all)? –
這是我放入數據庫控制檯的時間之一,併發出'從(1,6,5,8,12,14);'中的id刪除項目。瞭解ActiveRecord在幕後做些什麼以及如何執行基本的DBA任務很重要,也很好。 –