使用Laravel 5.7 dd($user)
我的变量后,我总是得到NULL值。
这是我的代码:
public function boot()
{
Schema::defaultStringLength(191);
$notifications = Messages::where('is_read', 0)->limit(5)->get();
$user = User::where('id', session('user'))->first();
dd($user);
View::share('logged_user', $user);
View::share('notifications', $notifications);
}
答案 0 :(得分:1)
在Laravel中,会话由StartSession
中间件处理,该中间件在所有服务提供商boot
阶段之后执行。
如果要与所有视图共享会话变量,则可以使用服务提供商的视图composer:
public function boot()
{
view()->composer('*', function ($view)
{
// dd(\Session::get('var')) not work. Its work on view.
$view->with('your_var', \Session::get('var') );
});
}