尝试在命令分派时获取非对象 laravel 的 属性

Trying to get property of non-object laravel on command dispatch

我正在使用 "Mapping Command Properties From Requests" 收到此错误

正在尝试获取 属性 的非对象

我的代码

use App\Command\CreateSomethingCommand;

public function store(Request $request)
{
$this->dispatchFrom(CreateSomethingCommand::class,$request,['user'=>Auth::User()->id]);
.....
}

如 laravel 中所述的命令 https://laravel.com/docs/5.0/bus#dispatching-commands

请帮忙!

错误很可能是由您的这部分代码触发的Auth::User()->id。如果用户未登录,则 Auth::user() 的结果将是 null,并且由于 null 不是对象,您无法访问 id 属性在上面,从而抛出异常:

Trying to get property of non-object

要解决此问题,您可以使用 Auth::id(),它将 return 登录用户的 ID 或 null 否则,但您将避免异常。