Php 如何在Laravel 5中使用会话

Php 如何在Laravel 5中使用会话,php,session,laravel-5,Php,Session,Laravel 5,我试图保存一些会话变量,但返回后,laravel没有保存会话变量。我的代码中的问题在哪里 在web.php中: Route::get('/login', function(){ return view(frontend.login); }); Route::post('/login', function(Request $request){ $control = "Some sql codes"; if($control > 0){ $user = "S

我试图保存一些会话变量,但返回后,laravel没有保存会话变量。我的代码中的问题在哪里

在web.php中:

Route::get('/login', function(){
   return view(frontend.login);
 });
 Route::post('/login', function(Request $request){
   $control = "Some sql codes";
   if($control > 0){
       $user = "Some sql codes";
       $request->session()->start();
       $request->session()->put('user_id', $user->id);
       $request->session()->save();
       return view('frontend.logged_in);
   }
   else{
       return view('frontend.index);
   }
});
我知道我应该使用控制器,但这是一个临时代码,它应该在这里工作良好(我说的对吗?)。当我不使用“return view('frontend.logged_in);”时,它会保存会话变量,但当我尝试返回时,它不会保存会话变量


注意:如果我为会话驱动程序选择“文件”,则这些代码工作正常。但是当我尝试选择cookie代码时,它不起作用

我认为这是因为:

$request->session()->start();
您不需要手动启动会话,Laravel会为您维护会话

请改用以下代码:

if($control > 0){
   $user = "Some sql codes";
   session(['user_id'=>$user->id]);
   return view('frontend.logged_in);
}
看看这对你是否有效