[学習 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が返ってくる。

コメント
コメントの受付は停止中です。