Laravel 如何将变量填充到所有查看记录的用户

Laravel 如何将变量填充到所有查看记录的用户,laravel,laravel-blade,laravel-7,user-variables,Laravel,Laravel Blade,Laravel 7,User Variables,我有如下代码: return view('Dashboard.AccountSettingsView', [ 'PageTitle' => config('app.name', 'Laravel') . ' | ' . __('Profile'), 'PageHeader' => __('Profile'), 'user' => Auth::user() ]); 如何将$user变量传递给所有登录用户视图,这样我就不需要在每个控制器中创建'user'=

我有如下代码:

return view('Dashboard.AccountSettingsView', [
    'PageTitle' => config('app.name', 'Laravel') . ' | ' . __('Profile'),
    'PageHeader' => __('Profile'),
    'user' => Auth::user()
]);
如何将$user变量传递给所有登录用户视图,这样我就不需要在每个控制器中创建'user'=>Auth::user()


谢谢你

是的,很简单,你能做的就是为所有视图添加
*
。并在没有登录用户的情况下添加一个检查

公共函数启动()
{
视图::编写器('*',函数($View){
if(Auth::check()){
$view->with('user',Auth::user());
}
});
}

文档的这一部分显示了您是如何解决问题的?我建议您使用@digitaldriver,如果它像这样
$userData='teststring',但如果它是这样的话,它将不起作用
$userData=Auth::user()@digitaldriver当我尝试
dd($userData)时它给我
null
message@AndySong使用view composer可能会使问题复杂化,但我将尝试使用
Auth:check()
,它将显示错误$userundefined@IHarrisMarfel在刀片文件?@IHarrisMarfel中,您需要进行一些检查,否则,
$user
将为空。当您访问刀片服务器中的某些属性时,您也会得到一个错误。
if(Auth::check()){View::composer('*',function($View){$View->with('user',Auth::user());});
show undife,但是with
View::composer('*',function($View){if(Auth::check(){$View->with('user',Auth::user());});
它运行得很好