0

我想是另一个相当基本的问题,但我觉得我在兜圈子,没有想法,哈哈。

我正在尝试创建一个带有分页(通过 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'));

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

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

但是那样的话,它当然会显示$id对应的用户信息...

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

4

2 回答 2

0

好的,我解决了...

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

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

现在它终于获取了适当的用户信息!

于 2011-10-23T13:36:09.160 回答
0

如果我没记错的话

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

应该做的伎俩

于 2011-10-23T12:34:52.787 回答