如何使用输入名称=“ value []”将不同的值插入数据库

时间:2020-06-20 14:55:23

标签: php html laravel laravel-blade laravel-7

我有一个问题,我实际上是想在Laravel下建立一个电子商务网站。 所以这是我的问题: 我尝试获取所有订购的产品的数量等 我的表单是这样的:

==

还有我的控制器:

@foreach($cartCollection as $item)
                {{ $item->name }}<br />
                {{ __('home.quantity') }} : {{ $item->quantity }}<br />
                <input type="hidden" name="product_id[]" value="{{ $item->id }}">
                <input type="hidden" name="quantity" value="{{ $item->quantity }}">
                <input type="hidden" name="size[]" value="{{$item->attributes->size}}">
                <input type="hidden" name="price[]" value="{{$item->price}}">
                <input type="hidden" name="priceItem" value="{{ \Cart::get($item->id)->getPriceSum() }}">
                {{ \Cart::get($item->id)->getPriceSum() }} €<br />
@endforeach

以此,它创建并复制产品,例如如果我为2种不同的产品得到2种尺寸,它将在数据库中创建它4次,而不是2次(一个产品ID具有一种尺寸,另一种产品具有另一种尺寸) ),您有解决方案吗?

1 个答案:

答案 0 :(得分:0)

在这里,我找到了解决方案,它是否可以帮助某些人:

          foreach($request->product_id as $key => $product){
                    $orderedProducts = new OrderedProduct;
                    $orderedProducts->product_id = $product;
                    $orderedProducts->order_id = $order->id;
                    $orderedProducts->quantity = $request->quantity;
                    $orderedProducts->price    = $request->price[$key];
                    $orderedProducts->size     = $request->size[$key];
                    $orderedProducts->save();
          }

所以我只需要更换控制器,现在效果很好!感谢社区的帮助