Cakephp 1.3:在分页注释中显示用户数据

时间:2011-10-22 19:11:37

标签: php cakephp paginate contain

我认为另一个相当基本的问题,但我觉得我是在圈子里出错,哈哈。

我正在尝试使用分页(通过Ajax)创建一个评论系统,该系统必须能够显示编写特定评论的用户的姓名,头像等。听起来很简单,对吧?

嗯,一切正常,但到目前为止,我根本无法找到检索相应用户信息的方法,我也找不到任何有用的文档。

到目前为止,这是我的分页代码:

$this->paginate['Comment'] = array(
    'conditions'=>array('Entry.id'=>$id),
    'contain' => array('Entry', 'User'=>array('avatar', 'username') ),
    'limit' => 10
);
$comments = $this->paginate('Comment');
$this->set(compact('comments'));

所以我使用了包含来获取用户模型的数据,我尝试在我的视图中显示如下:

echo $comment['User']['username'];
echo $comment['User']['avatar'];

但是这样,它当然会显示与$ id ...

对应的用户信息

但是,我需要通过当前评论的foreignkey user_id获取用户信息。而目前我不知道如何做到这一点...任何帮助将不胜感激。 提前谢谢!

2 个答案:

答案 0 :(得分:0)

如果我没记错的话

'contain' => array('Entry', 'User.avatar,User.username')),

应该做的伎俩

答案 1 :(得分:0)

好的,我解决了......

我只需要将正确的foreignKey添加到我的Comment模型中,即:

var $belongsTo = array(
'Entry' => array('className' => 'Entry', 'foreignKey' => 'page_id'),
'User' => array('className' => 'User', 'foreignKey' => 'user_id'),
);

现在它最终获取了相应的用户信息!