foreach が作業を行うときに、すべての ID を配列に入れる必要があります。現在、変数 $eduevalid を正しく設定しすぎているためです...
$edlevel_list = array();
foreach ($evaluation_list as $evaluation)
{
array_push($edlevel_list, $evaluation);
$eduevalid = $this->Evaledu_model->getRecordByEvalId($evaluation->id);
}
foreach パスが初めて配列 $edlevel_list に保存するときに必要です