我正在设置我的第一个Laravel命令,但在保存记录时遇到问题。
我的模特:
Public static function contractorDecline(){
return DB::table('job_interviews')
->where('job_interviews.status', '=', 'awaiting contractor response')
->get();
}
我设置了一个命令,可以在24小时后更改状态而不执行任何操作:
public function fire()
{
//
$tooLate = Carbon::Now()->subHours(24);
$interviews = JobInterview::contractorDecline();
//
foreach($interviews as $interview){
if ($interview->response_received_on <= $tooLate){
$interview->status = 'contractor declined interview';
$interview->save();
}
}
return('finished');
}
当我运行命令时,我收到错误:
"Call to undefined method stdClass::save()"
我需要向控制器添加什么才能在命令中使用save()?
答案 0 :(得分:1)
您正在使用Fluent返回一个简单的对象并在其上调用Eloquent save
方法。如果要更新行,则应使用Eloquent。假设您有JobInterview
表的job_interviews
类( Model ),您可以编码:
JobInterview::whereStatus('awaiting contractor response')->get();