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,但是withView::composer('*',function($View){if(Auth::check(){$View->with('user',Auth::user());});
它运行得很好