プロジェクト、学生、投票の 3 つのモデルがあります。次のコードは、それらの間の関係です。プロジェクト モデルでは:
public $hasMany = array('Student' => array(
'className' =>'Student',
'foreignKey'=>'project_id',
'order' => 'Student.studentName DESC',
),
'Vote' => array(
'className' =>'Vote',
'foreignKey'=>'project_id',
));
学生モデルでは:
public $belongsTo = array(
'Project'=>array(
'className'=>'Project',
'foreignKey'=>'project_id'
));
そして投票モデルでは:
public $belongsTo = array(
'Project'=>array(
'className' => 'Project',
'foreignKey' => 'id'
));
ただし、この関数を (Project モデルで) 呼び出すと、次のようになります。
public function getApprovedProjects(){
$approvedProjects = $this->find('all', array('conditions'=>array(
'Project.approved' => 1)));
return $approvedProjects;
}
これは私が得るデータです:
Array(
[0] => Array
(
[Project] => Array
(
[id] => 0
[projectName] => MyProject
[semester] => GAME
[description] => Test project
[imageLink] =>
[approved] => 1
)
[Student] => Array
(
)
[Vote] => Array
(
)
)
[1] => Array
(
[Project] => Array
(
[id] => 1
[projectName] => CRIA STUFF
[semester] => CRIA
[description] => Cria project
[imageLink] =>
[approved] => 1
)
[Student] => Array
(
)
[Vote] => Array
(
)
)
)
このプロジェクトに関連付けられている学生や投票は存在しませんが、存在する必要があると思います。何が起こっているのですか?