CakePhp模型关系不提供反向引用

目前我的模型关系船以下列方式设置
class Post extends AppModel {
    var $name = 'Post';
    var $displayField = 'title';
    var $hasMany = array('Comment');
    var $belongsTo = array('User');
 }

 class User extends AppModel {
    var $name = 'User';
    var $displayField = 'username';
    var $hasMany = array('Post', 'Comment');
 }

 class Comment extends AppModel {
    var $name = 'Comment';
    var $displayField = 'id';
    var $belongsTo = array('User', 'Post');
 }
当我试图在我的帖子视图的评论部分中引用用户名时 它错误地说无效索引,并在进一步调查后,我注意到我的模型不包括用户信息作为我的评论的后退参考只有用户信息被包括在帖子中 结果数组如下所示:
Array
(
    [Post] => Array
        (
            [id] => 1
            [title] => test post
            [user_id] => 1
            [body] => this is a test post 
            [date_posted] => 0000-00-00 00:00:00
            [url_slug] => this-is-a-test-post
        )

    [User] => Array
        (
            [id] => 1
            [username] => admin
            [password] => e7b9f7bc09beee85947ef987d7df49df136c7c38
            [first_name] => Chris
            [last_name] => McGrath
            [roles] => Admin
            [email] => admin@thissite.com
            [last_login] => 0000-00-00 00:00:00
            [member_since] => 0000-00-00 00:00:00
            [FacebookProfile] => 
            [TwitterUserName] => 
        )

    [Comment] => Array
        (
            [0] => Array
                (
                    [id] => 5
                    [post_id] => 1
                    [user_id] => 1  //expecting this to pull user model for each 
                    [comment] => test comment
                )

        )

)
我的问题是这是由于我在模型关联中做错了什么,这是模型框架的限制,还是我应该从这种类型的实例中的用户模型中手动抓取用户     
已邀请:
尝试做这样的事情:
$this->Post->recursive = 2; //This will get all the comments and their relationships
$post = $this->Post->read(null,$post_id); //The way you were getting your post.
debug($post); // You will see what it gets
编辑: 你也可以试试这个:
$this->Post->Comment->recursive = 2;
    
使用recursive = 2永远不是一个好主意。
$this->Post->find(
    'first',
    array(
        'conditions' => array(
            'Post.id' => $id
        ),
        'contain' => array(
            'User',
            'Comment' => array(
                'User' => array(
                    'fields' => array(
                        'User.id',
                        'User.name'
                    )
                )
            )
        )
    )
);
http://book.cakephp.org/view/1323/Containable     

要回复问题请先登录注册