会话不保存在第一个请求中laravel 5.2

问题描述:

我的情况很奇怪。会话不保存在第一个请求中laravel 5.2

我附上了我的路线在Route::group(['middleware' => ['web']], function() { /* Routes */ });

我节省使用

Session::put('customer_id', $customer->id); 

我的会话但是,当我刷新我的浏览器。会议不见了。然后我再次保存,然后刷新并正常工作。它在首次保存时不起作用。

我使用

if (Session::has('customer_id)) { 
// Session saved. 
} else { 
// Session not saved. 
} 

我也试过middlewareGroup但不工作检查它。

您的$middlewareGroups数组在app/Http/Kernel.php包含以下行吗?

\Illuminate\Session\Middleware\StartSession::class 

这将解释为什么会话不工作。

另一件要检查的是会话是否被代码中的其他地方覆盖。即您是否在其他地方拨打Session::put,并且$customer->id曾经是null/false/0

+0

是的,它有StartSession :: class。 Session :: put仅在我的CustomerController中调用。当我尝试dd(Session :: get('customer_id'))它有价值,但是当我使用if(Session :: has('customer_id'))检查它时,它会转到else。 –

+0

另外,$ customer-> id永远不会为空。 –