Php 如果在Hyn/多租户应用程序中通过magic方法访问my Spatial roles()关系,为什么会返回null?

Php 如果在Hyn/多租户应用程序中通过magic方法访问my Spatial roles()关系,为什么会返回null?,php,laravel,multi-tenant,laravel-7,spatie,Php,Laravel,Multi Tenant,Laravel 7,Spatie,我的hyn/多租户应用程序中发生了一些非常奇怪的事情。我安装了一个新的包,并添加了一些配置和路由的东西。之后我做了php-artisan-optimize:clear,令我惊讶的是,我的应用程序返回了一个从未见过的错误,返回了空间/权限包 我的调用$user->hasRole('admin')会导致对成员函数contains()的调用出现null错误。用户已登录并正确检索,并且所有权限和角色都在数据库中 我已经为所有租户分离了缓存(如指南中所述)。我还为Spatial软件包编写了分步安装指南,如

我的hyn/多租户应用程序中发生了一些非常奇怪的事情。我安装了一个新的包,并添加了一些配置和路由的东西。之后我做了
php-artisan-optimize:clear
,令我惊讶的是,我的应用程序返回了一个从未见过的错误,返回了空间/权限包

我的调用
$user->hasRole('admin')
会导致对成员函数contains()的
调用出现null
错误。用户已登录并正确检索,并且所有权限和角色都在数据库中

我已经为所有租户分离了缓存(如指南中所述)。我还为Spatial软件包编写了分步安装指南,如。这些是安装Spatial许可包的正式步骤

我再深入一点,发现产生问题的那一行是Spatial软件包的第185行

不知何故,
$this->roles是空的
,所以我尝试使用
$this->roles()->get()
,而不是通过magic方法调用它,它返回了正确的集合。但是手动更改所有这些调用对我来说不是很合适

我是否遗漏了一些明显的东西,或者有人能向我解释为什么会发生这个错误,以及为什么在我的应用程序运行之前,在执行“优化:清除”之后会发生这种错误

185             $this->roles->contains('id', $roles);