Файл модели Project.php должен иметь следующий вид
<?php
App::uses('AppModel','Model');
/*
*
* Project Model
*
*/
Class Project extends AppModel{
/*
*
* actsAs Behaviour
*
*/
public $actsAs = array('Containable');
/*
*
* belongsTO association
*
*/
public $belongsTo = array(
'Item' => array(
'className' => 'Item',
'foreignKey' => 'project_id',
)
);
}
?>
Файл модели Item.php должен быть таким, как показано ниже
<?php
App::uses('AppModel','Model');
/*
*
* Item Model
*
*/
Class Item extends AppModel{
/*
*
* actsAs Behaviour
*
*/
public $actsAs = array('Containable');
/*
*
* belongsTO association
*
*/
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'item_id',
)
);
/*
*
* hasMany association
*
*/
public $hasMany = array(
'Project' => array(
'className' => 'Project',
'foreignKey' => 'project_id',
)
);
}
?>
Файл модели User.php должен быть таким, как показано ниже
<?php
App::uses('AppModel','Model');
/*
*
* User Model
*
*/
Class User extends AppModel{
/*
*
* actsAs Behaviour
*
*/
public $actsAs = array('Containable');
/*
*
* hasMany association
*
*/
public $hasMany = array(
'Item' => array(
'className' => 'Item',
'foreignKey' => 'item_id',
)
);
}
?>
Вы можете попробовать с приведенным ниже кодом в контроллере.
<?php
$contain = array('Item' => array('User'));
$this->set('projects', $this->Project->find('all', array('contain' => $contain)));
?>