zerosp.blog > PHP > 2008/05/30 22:04 >

[学習 cakePHP #08] コントローラーのdel、viewアクションを作成。

前回までに記事一覧(/boards/index)、投稿(/boards/post)、編集(/boards/edit)の機能(アクション)を作りました。今回は削除(/boards/del)と単独記事表示(/boards/view)を作ります。これでGesut Bookの機能を満たすかな。

今回の作成するコントローラーのdel、viewアクションはコード的にeditアクションとあんま変わらないです。そのままズバッと該当箇所のコードを貼っちゃいます。

function del($id = null) {
  if (empty($this->data)) {
    $this->Board->id = $id;
    $this->data = $this->Board->read(array("id", "title", "name", "body", "created"));
    $this->set("post", $this->data);
    return;
  } else {
    $this->Board->id = $this->data["Board"]["id"];
    $tmp_data = $this->Board->read();
    $this->set("post", $tmp_data);
    if ($this->data["Board"]["pwd"] == $tmp_data["Board"]["pwd"]) {
      $this->Board->del();
      $this->redirect("/boards");
      exit;
    } else {
      $this->Board->invalidate("pwd");
      $this->render();
      exit;
    }
  }
}
function view($id = null) {
  if (empty($this->data)) {
    $this->Board->id = $id;
    $this->data = $this->Board->read();
    $this->set("post", $this->data);
  }
}

delアクションはeditアクションと比べると、データを保存する or 削除するかだけの違いでほぼ一緒。viewアクションも保存処理部分を削っただけですね。今回は新しい関数とかも出てきてないのでこれで・・・。

今回覚えた関数とか。

cakePHP → del
PHP → なし

del

Model::del($id = null,
          $cascade = true)

$id 番号の記事をDBから削除する。成功すると $cascadeにtrueが返ってくる。

投稿日 2008-05-30 22:04

当サイトのコメントとトラックバックの扱いについて。

スパム対策のため認証制となっています。受け取ったコメント、トラックバックは一旦保留扱いとなり管理人が許可したものだけ表示されます。

トラックバック

  • [学習 cakePHP #08] コントローラーのdel、viewアクションを作成。のトラックバックURL

コメント

コメントフォーム