Доброе утро,
У меня проблемы с $ hasMany, хотя $ hasOne работает нормально.
У меня две модели: Assignment and 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(), );
Может ли кто-нибудь объяснить, что происходит и / или предложить решение? Спасибо за помощь.