Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
264 views
in Technique[技术] by (71.8m points)

php - How can I get my session data inside my constructor function in the controller

This is a part of the code.

        class StudentController extends Controller
        {
                public function __construct(Request $request) 
                {
                    $school = session('school_data');

                    $this->middleware($school); 
                }
        }

Now, I've also tried checking the $school by using dd($school) but it returns null

NOTE: The session variable works in other functions inside the same controller.

question from:https://stackoverflow.com/questions/65836757/how-can-i-get-my-session-data-inside-my-constructor-function-in-the-controller

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

your sessions are not ready yet. if you want to use them, use like below:

class StudentController extends Controller
{
    public function __construct(Request $request) 
    {
        $this->middleware(function ($request, $next) {
            // fetch session and use it in entire class with constructor
            $this->school_data = session()->get('school_data');

            return $next($request);
        });
    }
}

from here: laravel - Can't get session in controller constructor


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...