访问控制器中的会话数据(Laravel)

时间:2017-12-27 04:38:53

标签: php laravel session session-variables session-state

我有一个页面' A'。我在这个页面上创建了一个会话变量。

然后将此页面重定向到一个功能' A'在控制器' A'使用window.location

我尝试在函数' A'中访问会话变量。使用以下行

var_dump($request->session->get('variableSetOnPageA'));

返回NULL

为什么呢?我需要' variableSetOnPageA'。

4 个答案:

答案 0 :(得分:0)

您应该从\Illuminate\Http\Request调用$request->session()->get('foo') 方法:

session('foo')

或全局帮助函数

AsyncTaskClass

答案 1 :(得分:0)

重要提示:在设置任何会话值后,调用save函数非常重要:

$request->session()->put('any-key', 'value');
$request->session()->save();    // This will actually store the value in session and it will be available then all over.

检查函数中是否有$ request。

public function A(Request $request)  // Notice Request $request here.
{
    $value = $request->session()->get('your-key');

    //
}

答案 2 :(得分:0)

这可能会对你有所帮助

if (session()->has('variableSetOnPageA')) {
  $result=session()->get('variableSetOnPageA')
}

答案 3 :(得分:0)

您还可以在Controller文件中的任何函数中获取Laravel中的Session变量:

$value = Session::get('variableSetOnPageA');

您可以在任何功能中设置如下所示的Session变量:

$variableSetOnPageA = "Can be anything";
Session::put('variableSetOnPageA',$variableSetOnPageA);

在您的Controller文件中,请确保在顶部添加以下代码:

use Session;