$this->Topic->find('all') を実行すると、関連するすべてのユーザー データと関連するすべての投稿データがプルされるようにしようとしています。問題は、私が今それを行うことができないということです。
現在、$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') を実行できるようにしたいのですが、トピック データ、トピック内の各投稿の投稿データ、トピック内の各投稿のユーザー データが得られます。トピック(それぞれ)..
助けてくれてありがとう。