2011-06-29 122 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頻道的專家。我的模特被錯誤地命名.. :)