1
我有樹模型與此結構和表:CakePHP的嵌套包含
Rate:
id, model_name, object_id
1 , SocialPost, 12
public $belongsTo => array(
'SocialPost' => array(
'className' => 'Social.SocialPost',
'foreignKey' => 'object_id',
'conditions' => array(
'Rate.object_id = SocialPost.id',
),
)
)
SocialPost: ID,file_id的
public $hasOne = array(
'File' => array(
'className' => 'File',
'foreignKey' => false,
'conditions' => array(
'File.id = SocialPost.file_id',
),
),
);
文件: ID,標題
所有樹型行爲可容納
此代碼的工作很好的SocialPostsController:
$posts = $this->SocialPost->find('all', array(
'limit' => 5,
'contain' => array(
'File'
)
));
輸出:http://pastie.org/private/9ixxufncwlr3tofgp8ozw
但是這個代碼在RatesController返回同一個文件的所有SocialPost:
$mostRated = $this->Rate->find('all', array(
'limit' => $count,
'contain' => array(
'SocialPost' => array(
'File'
)
)
));
輸出:http://pastie.org/private/lbqryo1gxgvxjb5omfwrw
什麼這裏錯了嗎?
社交是插件,SocialPost是它的模型。 我無法在SocialPost中使用belongsTo作爲文件。因爲每個帖子都有一個文件,而在File模型中,我擁有屬於SocialPost的所有文件屬於許多SocialPost。 – realman