在Laravel命令中使用save()时出错

时间:2014-08-13 04:08:23

标签: laravel-4

我正在设置我的第一个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()?

1 个答案:

答案 0 :(得分:1)

您正在使用Fluent返回一个简单的对象并在其上调用Eloquent save方法。如果要更新行,则应使用Eloquent。假设您有JobInterview表的job_interviews类( Model ),您可以编码:

JobInterview::whereStatus('awaiting contractor response')->get();