Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to retrieve session data in service providers in laravel?

Tags:

php

laravel-5

I am developing a Laravel project. I am using Laravel 5.1. In my project, I am sharing data to all view in boot method of appServiceProvider in this way.

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

But session value is always null. I saw a lot of article online. But they were not working. How can I pass my session value to there ?

like image 333
Wai Yan Hein Avatar asked Jan 03 '16 15:01

Wai Yan Hein


2 Answers

I think your question answered in the following post Laravel 5 session data is not accessible in the app boot process, You could use middleware like Taylor Otwell said in Add event for session started conversation There is no session because there is no HTTP request.

Hope this helps.

like image 80
Zakaria Acharki Avatar answered Oct 25 '22 16:10

Zakaria Acharki


This might be an old post but I got here while being stuck with the same problem, so let me post my solution here,just incase someone needs it.

    public function boot()
{
    view()->composer('*', function ($view) 
    {
        $view->with('your_var', \Session::get('var') );    
    });  
}
like image 29
Excellent Lawrence Avatar answered Oct 25 '22 17:10

Excellent Lawrence