在 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。