从正在从另一个表中恢复其他数据的循环中的相关表中检索数据

时间:2012-02-06 03:37:16

标签: php cakephp

我是cakephp的新手..对不起,如果我的问题看起来很基本.. 我有模特:用户,帖子,评论,所有相关和需要显示 评论帖子视图....但也想显示用户名,我无法访问用户模型的这个字段。 我在post.php模型中的comment.php模型和user_id中有user_id和post_id,但在循环内部如何访问用户模型的用户名字段?

我有这个... posts / view.ctp

    <?php foreach ($post['Comment'] as $comment): ?>            
    <tr<?php echo $class;?>>

    // this does not work
    // echo $comment['user_id']['username'];

    <td><?php echo $comment['user_id']; ?>   
    </td>

    </tr>
    <tr>
        <td><?php echo $comment['created'];?></td>
        <td></td>
    </tr>
    <tr>
    <td><?php echo $comment['content'];?></td>
    </tr>
    <?php endforeach; ?>
    </table>
那我怎么能解决它呢?感谢...

2 个答案:

答案 0 :(得分:0)

解决了问题......最常见的反复试验方式.. 如何修复它是..

  $this->Post->recursive = 2; //in posts_controller.php

然后......

 <?php foreach ($post['Comment'] as $comment): ?>            
 <tr<?php echo $class;?>>
 <!-- this is the way to access -->
 <td><?php echo $comment['User']['username']; ?></td>
 .......

答案 1 :(得分:0)

您是否在您的任何控制器中设置了auth。如果没有,请将其添加到您的控制器中并尝试使用
$this->Auth->user('username');它将为您提供控制器中任何位置的当前用户名。您可以在此视图中使用此

  

$这 - &GT;会话而&GT;读取( 'Auth.User.username')

//返回特定字段值 通过这个,您可以从任何控制器中的用户表中获取所有内容 详细了解Aut组件 here

如果您可以发布控制器的编码方式,我可以更好地回答我的问题....并传递您的peroject中断的确切错误。