在Laravel通知中调用成员函数delay()为null

时间:2018-08-21 03:31:49

标签: laravel notifications

嗨,我收到此错误消息“在null上调用成员函数delay()”

这是我在contoller中的代码

$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)
);

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

1 个答案:

答案 0 :(得分:0)

您接近了!

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

此外,您不需要使用$this->dispatch(),因为notify()方法将为您完成此操作。

$request->user()->notify((new EndDate($asset))->delay($when));

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

$request->user()->notify(
    (new EndDate($asset))->delay($when)
);