我们可以将null传递给laravel资源吗

时间:2019-01-08 02:27:26

标签: php laravel laravel-5 laravel-5.7

我有InitResource,它返回基本数据,例如一些应用程序数据,例如应用程序名称等。

现在,如果用户已登录,我将返回包含用户数据或不包含用户数据的资源,但是当用户为null或auth()->user()为null时,会出现一些错误:

  

不能返回null的

public function __get($key)
{
    return $this->resource->{$key};
}

当用户登录时,它会像应该的那样工作。 从逻辑上讲,我试图返回没有数据的资源,但是我可以将其与一些“默认值”一起使用吗?

我正在检查资源中的

$data = [
    'appName' => config('app.name'),
    'locale' => app()->getLocale(),
];

if($this->hasRole('basic')) {
    $data['user'] = $this->only(['username', 'fullname', 'avatar']);
}


return $data;

这可以在资源中完成吗?用空传递?谢谢

0 个答案:

没有答案