我在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'));
}
}
每次点击“购买”按钮,条件都不会返回真实
答案 0 :(得分:0)
在您的router.php
注册add
和session
路线两次。一个在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;