我想实现一个结构,例如一个组织有很多部门,部门有很多人。
我已经像这样设置了我的模型结构:
组织
<?php
class Organisation extends AppModel {
public $hasMany = array(
'Department' => array(
'className' => 'Department',
'foreignKey' => 'organisations_id'
)
);
}
部门
<?php
class Department extends AppModel {
public $hasMany = array(
'Person' => array(
'className' => 'Person',
'foreignKey' => 'departments_id'
)
);
}
人
<?php
class Person extends AppModel {
}
然后我有一个这样的控制器:
<?php
class OrganisationsController extends AppController {
public $helpers = array('Html', 'Form', 'Session');
public $components = array('Session');
public function index() {
$this->set('organisations', $this->Organisation->find('all'));
}
}
当我打印出 $organisations 时,我得到一个这样的数组:
Array
(
[0] => Array
(
[Organisation] => Array
(
[id] => 1
[created] => 2013-01-03 16:02:47
)
[Department] => Array
(
[0] => Array
(
[id] => 1
[created] => 2013-01-03 16:02:47
[organisations_id] => 1
)
)
)
)
我是 PHP 和 CakePHP 的新手,但您不希望 Person 数组包含在 Organization 数组中吗?如果没有,是否有另一种方法可以实现上述结构(组织->部门->人员)?
非常感谢任何有关如何解决此问题的提示!:)