$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); } }
<< 前へ |