0

我试图做到这一点,所以当我执行 $this->Topic->find('all') 时,它将提取所有关联的用户数据和所有关联的 Post 数据。问题是我现在无法做到这一点。

现在我执行 $this->User->find('all'),它返回主题数据以及该主题内的所有帖子。我想这就是我的代码告诉它要做的事情,但这不是我想要的。请原谅我的解释。我真的很讨厌CakePHP 协会。

以下是我的模型供您参考:

主题.php

class Topic extends AppModel {
var $name = 'Topic';

var $actsAs = array('Containable');                
var $hasMany = array(
    'Post' => array(
        'className'     => 'Post',
        'foreignKey'    => 'topicid'
    )
);

var $hasOne = array(
    'User' => array(
        'className'    => 'User',
        'foreignKey'    => 'id'
    )
);    

var $belongsTo = array(
    'Forum' => array(
        'className'    => 'Forum',
        'foreignKey'    => 'id'
    )
); 
}

Post.php

class Post extends AppModel {
var $name = 'Post';
var $actsAs = array('Containable');
 var $hasOne = array(
    'User' => array(
        'className'    => 'User',
        'foreignKey'    => 'id'
    )
 ); 


 var $belongsTo = array(
    'User' => array(
        'className' => 'User',
        'foreignKey' => 'userid'
 ),
    'Topic' => array(
        'className'    => 'Topic',
        'foreignKey'    => 'topicid'
    )
 );

}

论坛.php

class Forum extends AppModel {
var $name = 'Forum';

var $hasMany = array(
    'Topic' => array(
        'className'     => 'Topic',
        'foreignKey'    => 'forumid'
    )
);
}

用户.php

class User extends AppModel {
var $name = 'User';
var $actsAs = array('Containable');


var $hasMany = array(
    'ForumPost' => array(
        'className'     => 'ForumPost',
        'foreignKey'    => 'userid'
    ),
    'ForumTopic' => array(
        'className'     => 'ForumTopic',
        'foreignKey'    => 'userid'
    )
);
}

我想要它以便我可以执行 $this->Topic->find('all'),它给了我主题数据,然后是主题中每个帖子的帖子数据,以及主题中每个帖子的用户数据主题(分别)..

谢谢你的帮助。

4

1 回答 1

0

感谢#cakephp IRC 频道中的专家,我发现了我的问题。我的模型命名错误.. :)

于 2011-06-30T06:08:32.617 回答