アソシエーションを設定する
〜アソシエーションの設定〜
- 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 も入ってくる }