如何在laravel中的服务提供者中检索会话数据?

问题描述 投票:5回答:2

我正在开发一个Laravel项目。我正在使用Laravel 5.1。在我的项目中,我以这种方式在appServiceProvider的引导方法中共享数据到所有视图。

function boot()
{
    $items = $this->itemRepo->getItems(session("key"));
    view()->share('items', array('items'=>$items));
}

但会话值始终为null。我在网上看了很多文章。但他们没有工作。所以我怎么能把我的会话价值传递给那里?

php laravel-5.1
2个回答
1
投票

我认为你的问题在下面的Laravel 5 session data is not accessible in the app boot process帖子中回答,你应该使用像Taylor Otwell这样的中间件在Add event for session started conversation说没有会话,因为没有HTTP请求。

希望这可以帮助。


1
投票

这可能是一个老帖子,但我遇到了同样的问题,所以让我在这里发布我的解决方案,只是因为有人需要它。

    public function boot()
{
    view()->composer('*', function ($view) 
    {
        $view->with('your_var', \Session::get('var') );    
    });  
}
© www.soinside.com 2019 - 2024. All rights reserved.