table('exam_emp_result') ->addColumn('endmaketime', 'integer', ['comment' => '考试结束时间', 'default' => 0]) ->update(); $paper = ExamPaper::column('duringtime*60 as duringtime, endtime', 'id'); $result = ExamEmpResult::select(); // 更新时间 foreach ($result as $r) { $r->startmaketime = date('Y-m-d H:i:s', strtotime($r->addtime) - $r->time_spend * 60); $endTime = strtotime($r->startmaketime) + $paper[$r->paper_id]['duringtime']; $paperEndtime = strtotime($paper[$r->paper_id]['endtime']); if ($endTime > $paperEndtime) $endTime = $paperEndtime; $r->endmaketime = $endTime; $r->save(); } } }