Laravel 5 无法从自定义帮助程序访问当前登录的用户 ID



在 AppServiceProvider 中,我从自定义帮助程序调用了一个函数,如下所示:

public function boot()
{
View::share('tree', customhelper::generateSiteTree(0));
}

自定义帮助程序文件调用数据库函数,如下所示:

$children = UserPermission::getLeftNavByUserId($startAt); 

在自定义帮助程序函数中,我想传递当前登录的用户 ID,但是dd(Auth::user())返回null

如何使用该方法传递Auth::user()->id

getLeftNavByUserId($startAt, Auth::user()->id);

变量(或外观(尚不可用。解决此问题的一种方法是使用视图编辑器。

View::composer('my.view.with.children', function(View $view){
$view->with('children', UserPermission::getLeftNavByUserId($startAt, Auth::id()));
});

当然,您需要添加检查用户是否已登录等。

自定义帮助程序函数将在应用程序实例中初始化,然后再初始化Auth中间件,因此,如果要使用身份验证用户从 middlware 绑定它,它将始终为 null。

最新更新