嗨,我用拉拉哨兵作为我的八月,我也尝试使用拉拉审核我得到“非静态方法Cartalyst\哨兵\哨兵::getUser()不应该被静态调用”。
在我的用户模型中,我添加了一个静态函数resolveId(),用于在Laravel审计‘审核’表中添加user_id
public static function resolveId(){
return Sentinel::getUser()->getUserId();
//return auth()->check() ? auth()->user()->getAuthIdentifier() : null;
}当我尝试使用\Sentinel::getUser()时,我得到了下面的错误。
Non-static method Cartalyst\Sentinel\Sentinel::getUser() should not be called statically发布于 2018-02-10 13:08:11
来自医生们
安装软件包后,打开位于
config/app.php的Laravel文件,并添加以下行。在$aliases数组中,为该包添加以下外观。
'Sentinel' => Cartalyst\Sentinel\Laravel\Facades\Sentinel::class,然后将其添加到类的顶端:
use Sentinel;发布于 2018-02-10 13:06:29
将这个use放在有问题的文件之上:
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;发布于 2018-02-22 21:51:21
我知道包版本@manikandan 是在向4.x或5.x求助,虽然文档中确实提到了Sentinel的用例,但它没有提供一个实际的示例。
自从6.x版本以来,审计解决程序文档就有了这个用例,取而代之的是使用哨兵。
我建议更新解析器逻辑如下:
return Sentinel::check() ? Sentinel::getUser()->getUserId() : null;这将防止在没有记录用户的情况下在null上调用null。
https://stackoverflow.com/questions/48721081
复制相似问题