Laravel:将数据从购物车传递到结帐页面

时间:2018-04-24 14:15:50

标签: php html laravel

我正在购物车,目前将购物车详细信息,例如产品价格和数量传递到结帐页面,因此在结帐时我可以将数据保存到另一个表格,如purchased_items等。

我通过隐藏的输入字段将数据从购物车页面传递到结帐页面,在那里我再次传递值以结帐视图隐藏字段,以便我能够将该数据转换为checkout方法以将其保存到DB。 / p>

问题是我正在传递数组,因为产品及其数量是数组。

<input type="hidden" name="product_id[]" value="{!!  !! $products !!}">
<input type="hidden" name="product_quantity[]" class="product_total_quantity" value="{!! $product_quantity !!}">

它给了我:

  

数组到字符串转换

解决这个问题的好方法是什么?

3 个答案:

答案 0 :(得分:0)

为了使其正常工作,您需要为每个数组条目创建一个输入:

 @foreach ($products as $product)
      <input type="hidden" name="product_id[]" value="{!! $product !!}">
 @endforeach
 @foreach ($product_quantity as $q) 
     <input type="hidden" name="product_quantity[]" class="product_total_quantity" value="{!! $q!!}">
 @endforeach

当这个传递给服务器时,\Input::get('product_id')(或等效的product_quantity)将再次包含你的数组。

答案 1 :(得分:0)

试试这个

<input type="hidden" name="product_id" value="{!! json_encode($products) !!}">
<input type="hidden" name="product_quantity" class="product_total_quantity" value="{!! json_encode($product_quantity) !!}">

然后你可以使用json_decode(\Input::get('field_name'))

获取数组

答案 2 :(得分:0)

如果您将产品保存在会话或Cookie中,会不会更容易?

VBox root = new VBox();
addTextField(root);