我有代码:
public function addToCompare(Request $request)
{
$request->validate([
'productId' => 'required|integer',
'type' => 'required|string'
]);
if ($request->type == 'add') {
if(!session($request->productId))
session(['productToCompareId' => $request->productId]);
return response()->json(['success' => 'Product added to compare List!']);
} else {
session()->forget('productToCompareId');
return response()->json(['success' => 'Product removed from compare List!']);
}
return response()->json(['error' => true]);
}
我只需要从比较列表中删除一种产品,但是我的代码中删除所有产品。我如何只能删除一种产品?
答案 0 :(得分:0)
您可以做到这一点,
session(['productToCompareId' => '']);
还有另一种方法,
session()->forget('productToCompareId');
session()->flush();
或者您可以这样做
Session::pull('productToCompareId'); // reset current value
您可以从link中获取更多详细信息。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以像这样从会话数组中删除单个键。
$request->session()->forget('key');
// or use global helper
session()->forget('key');
https://laracasts.com/discuss/channels/laravel/remove-array-element-from-session?page=1