我开始使用 cakephp,但现在我遇到了一个我无法解决的问题。
我有以下相关的模型关系:
练习 hasMany Points 学生 hasMany Points,
现在我想检查 studentsController 是否每个练习都有一个点数据集,并且如果不插入一个新的。
当没有点数据集开始时,该函数为第一个正确的练习添加一个新的点数据集,但之后它只更新这个数据集的 erxercise_id,而不是创建新的。
控制器函数如下所示:
public function correct($id = null) {
$this->Student->id = $id;
$this->Student->recursive = 2;
if ($this->request->is('get')) {
$data = $this->Student->Exam->Exercise->find('all');
foreach($data as $exercise)
{
$exerciseID = $exercise['Exercise']['id'];
$this->Student->Point->recursive = 0;
$foundPoints = $this->Student->Point->find('all', array('conditions' => array('exercise_id' => $exerciseID)));
if($foundPoints == null)
{
$emptyPoints = array ('Point' => array(
'exercise_id' => $exerciseID,
'student_id' => $id
)
);
$this->Student->Point->save($emptyPoints);
}
else{
}
}
}
else //POST
{
}
}