使用 Carbon 延迟作业调度时出现意外的“->”

Unexpected "->" when delaying job dispatching using Carbon

我正在尝试延迟 Laravel 工作派遣。但是当我尝试 运行 我的功能时,我似乎遇到了这个

syntax error, unexpected '->' (T_OBJECT_OPERATOR).

错误似乎来自我显示的代码的第 3 行。

那行代码也是从this website复制过来的。

请告诉我该怎么做,如果这看起来像是菜鸟的错误,我深表歉意。

class Auto_Order_C extends Controller {
    public function ordering() {
        $job = new Auto_Order_Job()->delay(Carbon::now()->addMinutes(5));
        $this->dispatch($job);
        return redirect()->back()->with("status", "Job submitted");
    }
}

你需要分离出逻辑:

$job = new Auto_Order_Job();
$job->delay(Carbon::now()->addMinutes(5));

或者根据 Franz 的评论,将 class 创建放在括号中:

$job = (new Auto_Order_Job())->delay(Carbon::now()->addMinutes(5));