所以我发现从我的车型之一了一些数据:CakePHP的 - 努力包括与模型数据发现(“全部”)
// Models
class SubjectChange extends AppModel {
public $belongsTo = array('Subject', 'User');
}
class Subject extends AppModel {
public $hasMany = array('SubjectChange');
public $belongsTo = array('SubjectGroup');
}
// Controller code to get all SubjectChanges
$subjectChanges = ClassRegistry::init('SubjectChange')->find('all', array(
'contain' => array(
'Subject.name',
'User.full_name'
)
));
这将返回我的每SubjectChange这个样子,这是伟大的:
Array
(
[SubjectChange] => Array
(
[id] => 35,
[subject_group_id] => 5,
[timestamp] => '2011-10-18 16:52:24'
)
[Subject] => Array
(
[name] => 'English'
)
[User] => Array
(
[full_name] => 'John Smith'
)
)
但我想使用SubjectChange部分中的subject_group_id来添加SubjectGroup的名称。这里要注意的重要一点是,SubjectChange模型不是与SubjectGroup模型和有任何关系,我无法从Subject获取它,因为它可能有一个不同的subject_group_id当前存储在数据库中。
我只想做一些我的查询中,从SubjectChange得到SubjectGroup名subject_group_id,我有加入的,这个数据添加到上面:
[SubjectGroup] => Array
(
[name] => 'My Group Name'
)
这甚至可能吗?
为什么SubjectChange没有任何关联到SubjectGroup?如果你不想永久存在,那么你可以在飞行中做到这一点......但这是做这件事最简单,最正确的方法 – api55
是的,只是想通了。它与它没有真正的联系,但是我刚刚添加了它。我将如何添加到关系中? – BadHorsie