Back to Top


1398/04/20 - 18:29

دسترسی به session در مدل ها و یا متدهای سازنده

به طور پبش فرض در لاراول session در همه قسمت های برنامه در دسترس نیست. در این مقاله روش بدست آوردن آن را آموزش می دهیم.

کلمات کلیدی

sessionlaravelphpmodeleloquent

دسترسی به session در مدل ها و یا متدهای سازنده

قصد داشتم در eloquent model به مقدار session دسترسی داشته باشم و مقادیری را از آن بخوانم ولی در دسترس نبود.

دو روش که به آنها رسیدم تا بتوانم از session استفاده کنم به صورت زیر بودند.

روش اول در صورتی قابل استفاده است که در سازنده کنترلر باشیم:

$this->middleware(function ($request, $next) {
    $mySession=$request->session()->get("mySession");
    var_dump($mySession);
    return $next($request);
});

روش دوم در کلیه حالت ها قابل استفاده است و جهت استفاده از آن بایستی داخل Kernel.php مقادیر زیر را اضافه کنیم:

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
];