Laravel来自Session的工作不起作用

时间:2015-12-28 10:27:03

标签: php laravel laravel-5

在简单的控制器中我想把简单的变量放到会话中。在我的代码中返回查看并回调到其他函数后,我的会话为空并返回null

public function doAction()
{
    $this->order_id = Session::get('order_id');
    $this->reference_id = Session::get('reference_id');
    dd(Session::get('order_id') . '  ' . Session::get('reference_id'));
}

public function action(Request $request)
{
    Session::put('order_id', $request->input('order_id'));
    Session::put('reference_id', $request->input('reference_id'));
}

我的路线:

$app->get('paymentRequest', 'PaymentTransactionController@action');
$app->get('doAction', 'PaymentTransactionController@doAction');

我的观点:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    {{ $request['order_id'] }}

    <a href="{{ url('doAction') }}">CLICK</a>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

假设您的代码没有任何问题,可能是配置问题。您使用哪个本地服务器分别托管Vagrant,WAMP,MAMP,Homestead或Nginx?我们可能需要查看的文件很少,如php.ini和Laravel的config / session.php,或者可能是nginx中的一些配置。尝试使用\ session :: save()手动保存或尝试使用\ session: :start()第一次

答案 1 :(得分:0)

我不知道是什么让你在路由文件中使用$app。但$appLaravel应用的实例,而不是Route

我没有看到任何可以/可能在您的路线文件中使用$app的{​​{1}}编写的url来访问Route::get('paymentRequest', 'PaymentTransactionController@action'); Route::get('doAction', 'PaymentTransactionController@doAction');

请将您的路线文件更新为以下内容,它应按预期工作:

 remote: ###### WARNING:
 remote:        You are deploying to a non-production environment: "production_uk".

希望这会帮助你。快乐的编码。欢呼声。