2016-04-16 3 views
0

У меня большая проблема с сеансом в Laravel 5.2. Моя сессия не устанавливается в определенном маршруте.Сессия не работает в Laravel 5.2

Как это

Route::post('add','[email protected]'); 

Это мой route.php:

Route::get('admin','[email protected]'); 
Route::resource('admin/product','ProcuctController'); 

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

Моего файл покупки К корзина не работает. Это моя 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')); 
    } 
} 

Каждый раз, когда я нажимаю на кнопку покупки, условие не возвращает истину

+0

Какую версию Laravel 5.2 вы используете? Версия 5.2.27 теперь поддерживает промежуточное ПО 'web' по умолчанию, и объявление его снова может вызвать некоторые головные боли. – James

ответ

0

В вашей router.php регистрации add и session маршрут дважды. один находится внутри web промежуточного слоя, а другой снаружи. Удалите внешний. так что ваш router.php будет выглядеть

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

И в вашем SiteController добавить эту строку в к началу

use session; 
+0

i change route.php, и у меня есть новая проблема' if (session :: has ('cart')) { ' никогда не возвращать истину – puriya

Смежные вопросы