我正在创建一个辅助函数,目前它看起来像这样:
function avatar($userid = null){
return app()->User->getAvatar($userid);
}
我遇到的问题是,我收到的错误是:
类用户不存在(查看:/resources/views/layouts/usernav.blade.php)
当我在某些页面上运行此操作但在其他页面上运行时,会发生这种情况。我不知道造成这个问题的原因。
刀片使用:
<img src="{{avatar()}}" id="avatar" style="height: 50px;" class="img-responsive">
我们还有一个服务提供商,如下所示:
class UserServiceProvider extends ServiceProvider {
protected $defer = true;
public function boot(User $user) {
}
public function register() {
$this->app->resolving(User::class, function(User $user, $app){
$user->setUser(Auth::user() ? Auth::user() : null);
$this->app->instance('User', $user);
});
}
public function provides(){
return [User::class];
}
}
答案 0 :(得分:0)
要解决此问题,我需要修改我的服务提供商的注册功能:
$this->app->singleton('User', function ($app) {
$user = new User();
$user->setUser(Auth::user() ? Auth::user() : null);
return $user;
});