我在PHPLucidFrame中使用db_delete()
刪除了多個記錄。有什麼辦法可以做到這一點?如何使用PHPLucidFrame中的db_delete()範圍刪除多個記錄?
1
A
回答
0
首先,您不應該使用db_delete()
刪除多個記錄。它只是用於單個記錄刪除,它檢查外鍵約束,以確定如果可能,在記錄上執行邏輯刪除或物理刪除。以下是來自its documentation的報價:
db_delete()
對於您的SQL DELETE操作是一個非常方便的方法。這僅適用於單個記錄刪除。語法是db_delete('table_name', $condition=NULL)
。 LucidFrame鼓勵使用MYSQL外鍵約束。如果發現ON DELETE RESTRICT
,它執行軟刪除(邏輯刪除)通過更新當前的日期/時間到現場「刪除」,否則執行硬刪除(物理刪除)
相反,你必須使用db_delete_multi()來刪除多條記錄:
db_delete_multi()
對於給定條件的批量記錄刪除很有用,但它不檢查外鍵約束。
例如,這裏是如何使用db_delete_multi()
和db_and()
刪除其是在一個時期創建的多個記錄:
db_delete_multi('post', db_and(
array('created >=' => '2015-01-01'),
array('created <=' => '2015-01-31')
)
);
更多簡單的解決方案是使用between
運營商在條件數組。在這種情況下,您不需要使用db_and()
。
db_delete_multi('post', array('created between' => array('2015-01-01', '2015-01-31')));
您將需要至少使用PHPLucidFrame版本1.2。
相關問題
- 1. 刪除表中的記錄範圍
- 2. 使用hibernate刪除多個記錄
- 3. 刪除某個範圍內使用兩個命名範圍
- 4. Subsonic刪除多個記錄
- 5. 使用vim刪除範圍中的行
- 6. 如何從excel公式中的主範圍中刪除範圍
- 7. 同時刪除多個列表範圍?
- 8. 使用複選框刪除記錄/多個記錄(PHP/MYSQL)
- 9. 如何使用kendoui刪除網格中的多條記錄
- 10. MS Access:如何使用多個條件刪除一條記錄?
- 11. 多刪除記錄
- 12. 使用ListView中的CheckBox在ListView中刪除多個記錄
- 13. 刪除範圍
- 14. 從多個Access表中刪除記錄
- 15. 從表中刪除多個記錄
- 16. 刪除MySQL中的範圍
- 17. 如何從陣列中刪除範圍
- 18. 如何使用rails中的命名範圍更新記錄
- 19. 使用多個搜索條件查找記錄,包括範圍
- 20. 如何使用SQLiteDatabase刪除記錄?
- 21. 如何使用Elastica刪除記錄?
- 22. 如何使用ID刪除記錄?
- 23. 如何使用GQL刪除記錄?
- 24. 如何使用jquery刪除mysql記錄
- 25. 如何使用ajax刪除記錄?
- 26. 如何使用QueryRunner類刪除記錄
- 27. 如何使用VB.NET刪除DNS記錄?
- 28. 使用jqGrid刪除ASP.NET MVC中的多個記錄
- 29. 使用軌道中的複選框刪除多個記錄
- 30. 使用外鍵約束刪除多個表中的記錄
謝謝你的回答。這對我幫助很大。 – 2015-02-09 14:17:49