cake phpを勉強 Cake ブログチュートリアルを実践3

前回、とりあえずデータを表示するとこまで、完成。
次は、データを追加するところを作ってみます。
仕事終わってから勉強するので、なかなか進みません。

/app/controllers/posts_controller.phpに
add()メソッドを追加。
<?php
class PostsController extends AppController
{
    var $name = 'Posts';

    function index()
    {
        $this->set('posts', $this->Post->findAll());
    }
    function view($id = null)
    {
        $this->Post->id = $id;
        $this->set('post', $this->Post->read());
    }
    function add()
    {
        if (!empty($this->data))
        {
            if ($this->Post->save($this->data))
            {
                $this->flash('Your post has been saved.','/posts');
            }
        }
    }
}
?>
if (!empty($this->data))
フォームの中身が空でなかったら、
$this->dataの中身は連想配列。
$this->dataの中身をsave()メソッドで保存。
save()メソッドは

save(保存するデータ(連想配列),バリデーションon/off(true,false),使用するフィールド名);

で使用する。使用するフィールドは、array(title,body,・・・)みたいな感じで。

バリデーションとは、データ入力時にデータをチェックする機能のこと。
バリデーションエラーが起った場合はなにも保存されません。


次に、viewの作成。Postを投稿するフォームの作成です。
/app/views/posts/add.thtml