我正在尝试使用分页(通过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获取用户信息。而目前我不知道如何做到这一点...任何帮助将不胜感激。 提前谢谢!
答案 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'),
);
现在它最终获取了相应的用户信息!