我正在尝试这样做:
如果用户导航到购物车页面(CartController
),则会根据DB中的数据生成一个$cart
数组(购物车存储在DB中)。但是对数据进行了一些更改,例如用用户的自定义价格替换价格。
如果用户单击购物车页面底部的“完成订单”,他将向OrdersController@store
提交表单,这将需要生成CartController
生成的相同数组。
为避免此昂贵的操作,我想在会话中存储$cart
数组,但仅用于另一个请求。当用户单击“完成订单”并将表单提交到OrdersController @ store时,不必再次生成数组。如果他离开购物车页面,该阵列将不再保存在会话存储中。当他访问购物车/时,它将被生成并再次存储。
但是,我无法成功使用flash()或reflash()。
我尝试在两个控制器中都执行reflash(),但这似乎没有什么不同。我一定用错了。我在商店尝试了$request->session()->reflash();dd($request)
,在CartController中尝试了request()->session()->flash('cart', $cart);$request->session()->reflash()
。
因此,我正尝试将数据保存在Flash中,以供下一个页面请求。
CartController
和OrdersController@store
的代码:https://gist.github.com/Shifterovich/e4cf7e23421d495a8cd9a358dd4849d0