edo1z blog

プログラミングなどに関するブログです

cakePHP - データの削除

データの削除はidをもとに削除する場合は単純である。

$this->Board->delete($this->data['Board']['id']);

delete('idの数字')だけで削除できる。 上記は、Boardモデルのdeleteメソッドを使って、idフィールドが$this->data['Board']['id']であるデータを、boardsテーブルから削除している。



delete(id)以外の方法は下記である。

$this->Board->deleteAll(array('Board.name'=>
 $this->data['Board']['name']));

これは、Board.nameが、$this->data['Board']['name']と等しいデータが全て削除される。

$this->Board->deleteAll(array('Board.name like ?'=>
 "%{$this->data['Board']['name']}%"));

これは、データ検索(2)で記載されているfindメソッドの「?」と同じことが行われている。cakePHPでは、内部でSQL構文を構築するにあたり、「?」に、その後与えられている配列の値が順に当てはめられる。すなわち上記は、Board.nameに、$this->data['Board']['name']の値が含まれるデータが全て削除される。