Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 1.3:在分页注释中显示用户数据_Php_Cakephp_Paginate_Contain - Fatal编程技术网

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

Cakephp 1.3:在分页注释中显示用户数据,php,cakephp,paginate,contain,Php,Cakephp,Paginate,Contain,我想这是另一个相当基本的问题,但我觉得我好像在兜圈子,没有想法,哈哈 我正在尝试创建一个带有分页(通过Ajax)的评论系统,该系统必须能够显示撰写特定评论的用户的姓名、头像等。听起来很简单,对吧 嗯,一切正常,除了到目前为止我无法找到检索相应用户信息的方法,在文档中也找不到任何有用的东西 以下是我目前的分页代码: $this->paginate['Comment'] = array( 'conditions'=>array('Entry.id'=>$id), '

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

我正在尝试创建一个带有分页(通过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'));
因此,我使用contain获取用户模型的数据,我尝试在视图中显示这些数据,如下所示:

echo $comment['User']['username'];
echo $comment['User']['avatar'];
但这样,它当然会显示与$id对应的用户信息

但是,我需要通过当前评论的foreignkey用户id获取用户信息。现在我不知道该怎么做。。。任何帮助都将不胜感激。
提前谢谢

如果我没记错的话

'contain' => array('Entry', 'User.avatar,User.username')),
应该做这个把戏好吧,我解决了

我只需在我的评论模型中添加适当的foreignKey,即:

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

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

您可以使用pr($comment)调试结果。无论如何,为什么不让用户完成(没有头像/用户名过滤器)?这有用吗?谢谢你的小费!事实是,这个应用程序运行得非常好,它通过当前页面的$id获取用户信息。也就是说,如果我在条目页面10,所有添加的评论都会包含id为10的用户的用户信息,哈哈。。。为了弥补这一点,我需要它不是通过$id获取用户信息,而是通过一个find操作来获取实际编写注释的用户的数据。只是在分页上下文中,我不知道如何实现这一点…谢谢,但不幸的是,这并没有改变。。。它一直通过$id而不是外键user_id检索用户信息……奇怪。通常,“用户id”作为默认外键应该在没有明确说明的情况下工作。。。