在我的应用程序中,我有2个控制器,一个用于文章(Articles
),一个用于文章评论(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
这是文章视图的代码:(显示注释的位置)
<?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; ?>
我已经把
Author
和Article_Comments
联系起来了。Article_Comment
是在$hasMany
下的Author
模型中定义。
从Author
模型检索注释需要该关系,但是您需要创建相反的关系,因为您正在从Article_Comments
获取数据。像这样:
class Article_Comments extends AppModel{
public $belongsTo = 'Author';
}
您需要将Article_Comments与作者的表连接,并将此字段放入select语句中以获得作者的名称