2011-06-29 81 views
0

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

现在我做$ this-> user-> find('all'),它返回Topic中的数据以及该Topic中的所有文章。我想这是我的代码告诉它要做的,但这不是我想要的。请原谅我的解释..我真的糟糕的CakePHP协会。

这里是我的型号供您参考:

Topic.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' 
    ) 
); 

} 

Forum.php

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

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

user.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' 
    ) 
); 
} 

我想它,这样我可以做到这 - $> Topic->找到(“全部”),它给我的主题数据,然后为每个帖子的主题邮政数据,以及用户每个帖子的数据在主题(分别)..

感谢您的任何帮助。

回答

0

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