ホームページ  >  記事  >  バックエンド開発  >  CakePHP 2.x CookBook 中国語版 第 7 章 モデル - Data_PHP チュートリアルの削除

CakePHP 2.x CookBook 中国語版 第 7 章 モデル - Data_PHP チュートリアルの削除

WBOY
WBOYオリジナル
2016-07-14 10:08:50793ブラウズ

データを削除する

CakePHP のモデル クラスは、データベースからレコードを削除するためのメソッドをいくつか提供します。
削除
delete(int $id = null, boolean $cascade = true);
$id でレコードを削除します。デフォルトでは、削除されたレコードに依存するレコードも削除されます。
たとえば、多くのレシピ レコード (ユーザー「hasMany」または「hasAndBelongsToMany」レシピ) に関連するユーザー レコードを削除するには:
$cascade が true に設定されている場合、関連するレシピ レコードも削除されます (モデルの依存値は true に設定されます)。
$cascade が false に設定されている場合、レシピ レコードはユーザーが削除された後も保持されます。
データベースが外部キーとカスケード削除をサポートしている場合、CakePHP のカスケード以上のものに依存することになります。 Model:delete() のカスケード機能を使用する利点の 1 つは、動作とモデルのコールバックを使用できることです。
1 $this->コメント->削除($this->リクエスト->data('コメント.id'));
モデルとビヘイビアの両方に存在する beforeDelete と afterDelete を使用して、カスタム ロジックを削除プロセスにフックできます。詳細については、コールバック メソッドを参照してください。
すべて削除
deleteAll(混合 $conditions、$cascade = true、$callbacks = false)
基本的には delete() と同じですが、deleteAll() は指定された条件に一致するすべてのレコードを削除します。 $conditions 配列は SQL フラグメントまたは配列として提供されます。
条件 一致する条件
cascade 論理値、true に設定すると、削除時に依存関係のあるレコードも同時に削除されます。
コールバック論理値、コールバックを実行
成功した場合は True を返し、失敗した場合は False を返します。
例:
1 // 削除条件はfind()と同じです
2 $this->Comment->deleteAll(array('Comment.spam' =>true), false);
コールバックやカスケードを使用して削除された場合、関連する行が検索されて削除されます。これにより、複数のクエリが発行されることがよくあります。
メモ
削除条件が正常に実行されたが、一致するレコードがない場合、レコードが削除されていなくても、deleteAll() は true を返します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477771.html技術記事データの削除 CakePHP のモデル クラスは、データベースからレコードを削除するためのメソッドをいくつか提供します。 delete delete(int $id = null, boolean $cascade = true); $id でレコードを削除します。デフォルトでは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。