会话在Laravel 5.2

时间:2016-04-16 20:23:15

标签: session laravel-5.2

我在Laravel 5.2中遇到了一个很大的问题。我的会话在某些路线中没有设置。

喜欢这个

Route::post('add','SiteController@add');

这是我的route.php

Route::get('admin','AdminController@index');
Route::resource('admin/product','ProcuctController');

Route::resource('admin/news','NewsController');
Route::resource('admin/category','CategoryController');
Route::get('session','SiteController@session');
Route::post('add','SiteController@add');
Route::get('/{title}','SiteController@show');
Route::group(['middleware' => ['web']], function () {
      Route::get('session','SiteController@session');
      Route::post('add','SiteController@add');
});

我的文件购物cms篮子不起作用。这是我的SiteController函数

public function add(Request $request)
{
    if(session::has('cart'))
    {
          $cart=session::get('cart');

          if(array_key_exists($request->product_id,$cart))
          {
               $cart[$request->product_id]++;
          }
          else
          {
               $cart[$request->product_id]=1;
          }

          session::put('cart',$cart);
          //var_dump(session::get('cart'));
          print 'ok';
    }
    else
    {
          $cart=array();
          $cart[$request->product_id]=1;
          session::put('cart',$cart);
          var_dump(session::get('cart'));
    }
} 

每次点击“购买”按钮,条件都不会返回真实

1 个答案:

答案 0 :(得分:0)

在您的router.php注册addsession路线两次。一个在web中间件内,另一个在外面。删除外面的。所以你的router.php看起来像

Route::get('admin','AdminController@index');
Route::resource('admin/product','ProcuctController');
Route::resource('admin/news','NewsController');
Route::resource('admin/category','CategoryController');
Route::get('/{title}','SiteController@show');
Route::group(['middleware' => ['web']], function () {
      Route::get('session','SiteController@session');
      Route::post('add','SiteController@add');
});

并在SiteController中将此行添加到顶部

use session;