27.md

アソシエーションを設定する

〜アソシエーションの設定〜

  • Comment Model (Comment.php) を作る
    ---> Post Model (Post.php) をコピーして書き換え
class Comment extends AppModel {
    pubic $belongsTo = 'Post'; // 'すべてのCommentはPostに帰属する' という設定
}

---> データベースの中に PostID という形で親となる Model の名前が入っていると自動的に紐付いてくれる。

 

  • Post Model に public $hasMany = "Comment"; を追加
class Post extends AppModel {
    public $hasMany = "Comment";

    piblic $validate = array(
            'rule' => 'notEmpty'
            'message' => '空じゃだめだし'
        ),
        'body' => array(
            'rule' => 'notEmpty'
        );
}

---> Post を引っ張ってくると Post に紐付いた Comment も引っ張ってくるようになる。

 

  • View (view.ctp) 個別記事一覧の下部にコメントの一覧を表示させる
    -- PostsController
public function view($id = null) {
    $this->Post->id = $id;
    $this->set('post', $this->Post->read()); // association により'post' の中に comment も入ってくる
}

PAGE TOP



< 前へ  <<目次に戻る  次へ >