【CakePHP】1人前のケーキ職人になるまで

パティシエじゃないよエンジニアだよ

【CakePHP】データベースを削除したい時

アプリでデータベースを削除したい時は、delete()を使います。

Delete

delete(integer $id = null, boolean $cascade = true);

$id で特定されるレコードを削除します。 デフォルトでは、削除される該当レコードに依存しているレコードも削除されます。

$this->Model->delete(1) //id = 1のレコードを削除します。

戻り値はbooleanで、成功したらtrue、失敗したらfalseを返す。

DeleteAll

deleteAll(mixed $conditions, $cascade = true, $callbacks = false)

deleteAll() は delete() と似ていますが、 異なる点は deleteAll() が与えられた条件にマッチするレコードを全て削除する $conditions 配列は SQL の断片または配列で与えます。

conditions マッチさせる条件
cascade 真偽値、true に設定するとそのレコードに依存するレコードも削除する
callbacks 真偽値、コールバックを走らせる
戻り値は真偽値で、成功したら true を、失敗したら false を返します。

$this->Model->deleteAll(['1=1']);

deleteAllで全削除を行う場合、パラメータに何も渡さないと実行されないためダミーデータを渡す。