0

私のアプリケーションには、記事用 ( Articles) と記事コメント用( ) の 2 つのコントローラーがありArticle_Commentsます。それらのテーブルは次のようになります。

Articles
id, author_id, type_id, body, created, modified

Article_Comments
id, article_id, author_id, body, created, modified

記事のビューで、コメントも表示します。しかし、コメントには、そのコメントの作成者の名前は表示されません。のみを表示しauthor_idます。

IDではなく名前を表示するように変更するにはどうすればよいですか?

編集1

これは Articles ビューのコードです: (コメントが表示されるビット)

<?php if (!empty($article['articleComment'])):
    $i = 0;
    foreach ($article['articleComment'] as $articleComment): ?>
        <tr>
            <td colspan="2">
                Response By: <?php echo $articleComment['author_id']; ?>
            </td>
            <td>
                On: <?php echo $articleComment['created']; ?>
            </td>
        </tr>
        <tr>
            <td colspan="3"><?php echo $articleComment['comment']; ?></td>
        </tr>
    <?php endforeach; ?>
<?php endif; ?>
4

2 に答える 2

0

私はすでににリンクAuthorしていArticle_Commentsます。Article_Commentsは、のAuthor下のモデルで定義され$hasManyます。

モデルからコメントを取得するにはその関係が必要ですが、Authorからデータをフェッチしているため、反対の関係を作成する必要がありますArticle_Comments。このようなもの:

class Article_Comments extends AppModel{
    public $belongsTo = 'Author';
}
于 2013-03-11T10:30:43.130 に答える
0

作成者の名前を取得するには、Article_Comments と作成者のテーブルを結合し、このフィールドを select ステートメントに入れる必要があります。

于 2013-03-11T10:04:28.323 に答える