

![画像の説明をここに入力](https://i.stack.imgur.com/qCMiQ.jpg)![画像](https://i.stack.imgur.com/ogai1.jpg)

ドットインストールでcakephpを勉強しています。  
「コメント一覧を表示する」というものですが、正しく表示されないです・・・  
modelに問題があるなのか、それともviewで正しく表示できていないのか・・・  
どなたか教えてください。

ドットインストールの動画  
<http://dotinstall.com/lessons/basic_cakephp/7527>  
<http://dotinstall.com/lessons/basic_cakephp/7528>

【Comment.php】

[code]

    <?php
    
    class Comment extends AppModel {
        public $belongsTo = 'Post';
    }
    
    ?>
    
[/code]

【Post.php】

[code]

    <?php
    
    class Post extends AppModel {
        public $hasMany = 'Comment';
    
        public $validate = array(
            'title' => array(
                'rule' => 'notEmpty',
                'message' => '空です'
            ),
            'body' => array(
                'rule' => 'notEmpty'
            )
        );
    }
    
    ?>
    
[/code]

【view.ctp】

[code]

    <h2><?php echo h($post['Post']['title']); ?></h2>
    
    <p><?php echo h($post['Post']['body']); ?></p>
    
    <h2>Comments<h2/>
    <ul>
    <?php foreach ($post['Comment'] as $comment): ?>
    <li><?php echo h($comment['body']) ?> by <?php echo h($comment['commenter']); ?></li>
    <?php endforeach; ?>
    </ul>
    
[/code]


CC BY-SA 3.0
2015-02-11T08:00:29.557
6303
2015-02-11T14:37:01.070
2015-02-11T14:37:01.070
33
7176
question
php cakephp dotinstall
cakephpでコメント一覧が表示されない


スクリーンショットにあるQuery Nr.2の行数(Num. rows)が0になっていますので、commentsテーブルにデータが無いですね。


CC BY-SA 3.0
2015-02-11T08:16:38.147
6305
2015-02-11T08:16:38.147
5750
6303
answer


コメントを取得するSQLで結果が空なことから、DBに入っているデータに問題がある気がします。

質問のスクリーンショットで表示されているのは`id=1`の記事とお見受けします。

そのシリーズの[「#26
Commentsテーブルを用意しよう」という回](http://dotinstall.com/lessons/basic_cakephp/7526)で`comments`テーブルにデータを投入する際、「DBの中身を見るとidが7～10なので、じゃあ適当に7としましょう」といった流れで`post_id`を`7`としたSQLを書いていますが、これは表示する記事の`id`と一致させる必要があります。

動画の通り`post_id=7`のデータを投入してしまったために、コメントが取得できなかったのでは・・・と思いましたがいかがでしょうか？

### 参考

[アソシエーション: モデル同士を繋ぐ — CakePHP Cookbook 2.x
ドキュメント](http://book.cakephp.org/2.0/ja/models/associations-linking-models-
together.html)


CC BY-SA 3.0
2015-02-11T08:25:57.533
6308
2015-02-11T09:18:13.053
2015-02-11T09:18:13.053
8000
8000
6303
answer