结帐后清除购物车

时间:2019-06-19 15:52:11

标签: php laravel session shopping-cart

我使用会话在laravel中实现了购物车。现在,我对于结帐后如何为每个用户清除购物车尚不清楚。我的理解是,会话在打开浏览器时创建,在关闭浏览器时销毁。我还获得了在用户计算机上创建会话的信息。用户签出后我该如何销毁该会话对象?

我所拥有的是,状态代码将被发送回我的应用程序中的一条路线,如果付款成功,该路线将触发清除购物车功能。我是否误解了会话的运行方式?

我希望当用户完成交易时,支付网关将返回一个代码,我可以使用该代码来清除会话。

1 个答案:

答案 0 :(得分:0)

是的,您可以在成功交易后清除购物车的会话值。

假设您在会话中将购物车详细信息存储在名为购物车的键中,则可以从会话中将其删除,如下所示:

$request->session()->forget('cart'); 

或使用如下的帮助方法:

session()->forget('cart');

这是如果购物车详细信息存储在会话中,如果它们存储在数据库中,则可以在结帐开始时开始mysql(如果使用的是mysql)事务,并为该特定用户清除购物车。万一付款失败,您可以回滚事务,而购物车中的所有内容均保持不变。