程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CakePHP 2.x CookBook 中文版 第七章 模型 之 刪除數據

CakePHP 2.x CookBook 中文版 第七章 模型 之 刪除數據

編輯:關於PHP編程

刪除數據 CakePHP 的模型類提供了幾種從數據庫中刪除記錄的方法。   delete delete(int $id = null, boolean $cascade = true);   通過 $id 刪除記錄。默認情況下,同時刪除那些依賴於被刪除記錄的記錄。   例如,刪除一個與許多 Recipe 記錄相關的 User 記錄(User ‘hasMany’ 或者 ‘hasAndBelongsToMany’ Recipes):   如果 $cascade 設置為 true,相關的 Recipe 記錄也被刪除(模型的 dependent-value 設置為 true)。 如果 $cascade 設置為 false,User 刪除後,Recipe 記錄仍被保留。 如果數據庫支持外鍵和級聯刪除,會比 CakePHP 的級聯更優先被依賴。使用 Model:delete() 的級聯特性的好處之一是它允許你使用行為和模型的回調:   1 $this->Comment->delete($this->request->data('Comment.id')); 你可以使用同時存在於模型和行為中的 beforeDelete 和 afterDelete 向刪除過程掛接自定義邏輯。更多信息請參見回調方法。   deleteAll deleteAll(mixed $conditions, $cascade = true, $callbacks = false)   除了 deleteAll() 將刪除所有與提供的條件相匹配的記錄之外,它與 delete() 基本一樣。$conditions 數組將以 SQL 片段或數組的形式提供。   conditions 要匹配的條件 cascade 邏輯值,設置為 true,刪除時將同時刪除有依賴關系的記錄。 callbacks 邏輯值,運行回調 成功時返回 True,失敗時挽回 False。   示例:   1 // 刪除所用的條件與 find() 相同 2 $this->Comment->deleteAll(array('Comment.spam' => true), false); 如果刪除帶有回調 和/或 級聯,將查找相關行並刪除。這常常會導致發出多條查詢。   注解   當刪除條件成功執行但沒有記錄匹配時,即使沒有記錄被刪除,deleteAll() 也將返回 true。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved