在從Rails的控制檯我軌程序,我想刪除其creater_id客戶=一些ID喜歡波紋管:Rails的控制檯刪除使用Where條件
Customer.where(creater_id: 5).delete_all
什麼是最好的方法(鐵軌提供了不同的方式對於同樣的任務,我很想知道如何通過其他方式實現相同的功能,並在性能方面進行更加優化,並對DB)使用基於特定條件的rails條件使用「where」進行刪除?
在從Rails的控制檯我軌程序,我想刪除其creater_id客戶=一些ID喜歡波紋管:Rails的控制檯刪除使用Where條件
Customer.where(creater_id: 5).delete_all
什麼是最好的方法(鐵軌提供了不同的方式對於同樣的任務,我很想知道如何通過其他方式實現相同的功能,並在性能方面進行更加優化,並對DB)使用基於特定條件的rails條件使用「where」進行刪除?
這完全取決於你真正想做的事:
delete_all
是比較destroy_all
更快的方法,因爲刪除不檢查的家屬。它只會刪除被調用的單個表的行。
destroy_all
用於我們想要刪除模型的所有依賴項。
例如,如果Student
有很多courses
。
User.where(some: 'some').delete_all
將刪除所有用戶,但學生與課程的關聯仍將存在關聯表中。User.where(some: 'some').destroy_all
將刪除所有用戶以及課程關聯。謝謝兄弟:) –
不客氣的@布拉文喬治 –
當前查詢的問題是什麼? – Pavan
嘿,你可以使用'Customer.where(creater_id:5).destroy_all'它也會刪除所有依賴的子對象。 –
@Pavan只是想知道Rails爲同樣的任務提供了不同的方式,如果有更好或更優化的方法來做同樣的事情嗎? –