$this->Modelクラス->delete( 削除するID , 真偽値 );第1引数に、削除するデータのIDを指定します。第2引数は、関連するデータを削除するかを示す真偽値です(これはデータのリレーションを行うようになると意味がわかります。今は深く考えなくてOKです)。
$this->MySampleData->delete($this->deleteの引数に、$this->request->data('MySampleData.id')というようなものが指定されていますね。これで、送信されたフォームからIDの値が取得できます。Form Helperを使ってModel利用のフォームを生成すると、このようにdata('MySampleData.id')というように「モデル名.項目名」という形で送信されたフォームのデータが取得できます。後は、deleteで削除するだけです。
request->data('MySampleData.id'));
$this->Modelクラス->deleteAll( 条件設定 , 真偽値 );第1引数には、削除する項目の検索条件を設定します。つまり、findと同じように条件を指定してデータを検索し、見つかったものをすべて削除する、というわけです。検索条件の設定は、基本的にfindと同じです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※del.ctp
<h1>Edit Page</h1>
<p>MySampleData Delete Form.</p>
<?php
echo $this->Form->create('MySampleData');
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->end('Submit');
?>
※delメソッド
public function del($id) {
// レイアウト関係
$this->layout = "Sample";
$this->set("header_for_layout", "Sample Application");
$this->set("footer_for_layout",
"copyright by SYODA-Tuyano. 2011.");
$this->MySampleData->id = $id;
// post時の処理
if ($this->request->is('post') || $this->request->is('put')) {
$this->MySampleData->delete($this->request->
data('MySampleData.id'));
} else {
$this->request->data =
$this->MySampleData->read(null, $id);
}
}
| << 前へ |