早上好,
我有麻煩$ hasMany,即使$ hasOne工作正常。
我有兩個模型,Assignment和AssignmentGroup。分配可以有一個AssignmentGroup,但AssignmentGroup可以有很多分配。這裏有關係:
class Assignment extends AppModel {
public $belongsTo = array('AssignmentGroup');
}
class AssignmentGroup extends AppModel {
public $hasMany = array(
'Assignment' => array('foreignKey'=>'assignment_group_id),
);
}
這裏是我運行代碼:
$this->AssignmentGroup->Behaviors->load('Containable');
$params = array(
'conditions' => array('AssignmentGroup.class_id' => $class_id),
'contain' => array('Assignment'),
);
$result = $this->AssignmentGroup->find('all', $params);
當我使用$ hasOne而不是$的hasMany我得到預期的結果。
$result = array(
'AssignmentGroup => array(
[several elements]
),
'Assignment' => array(
[more elements]
),
);
但是,當我使用$ hasMany,因爲我需要,事情崩潰了。該查詢沒有JOIN。
$result = array(
'AssignmentGroup => array(
[several elements]
),
'Assignment' => array(),
);
任何人都可以解釋發生了什麼和/或提出解決方案嗎?謝謝您的幫助。
我不是很熟悉CakePHP的,但不應該外鍵是在分配模式? – Matt
你有沒有得到它的工作?我有同樣的問題:http://stackoverflow.com/questions/37946705/cakephp-2-8-4-ignoring-hasmany –