在 Laravel 通知上对 null 调用成员函数delay()

jFr*_*nky 4 notifications laravel

您好,我收到此错误消息“在 null 上调用成员函数延迟()”

这是我在控制器中的代码

$input  = $request->end_date;
$format = 'd/m/Y';
$date = Carbon::createFromFormat($format, $input)->toDateString();
$when = Carbon::parse($date)->subDays(7);
$this->dispatch(
   $request->user()->notify(new EndDate($asset))->delay($when)
);
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,我是编程新手,所以我希望有人可以帮助我解决这个错误。

Rwd*_*Rwd 10

你很接近!

延迟方法应该在通知上调用EndDate,而不是链接在该notify()方法之后。

另外,您不需要使用$this->dispatch(),因为该notify()方法会为您执行此操作。

$request->user()->notify((new EndDate($asset))->delay($when));
Run Code Online (Sandbox Code Playgroud)

下面是完全相同的代码,但是,我只是将其分成多行,以使其更清晰、更容易查看:

$request->user()->notify(
    (new EndDate($asset))->delay($when)
);
Run Code Online (Sandbox Code Playgroud)