Как вставить разные значения в базу данных с помощью input name = "value []" - PullRequest
0 голосов
/ 20 июня 2020

У меня вопрос, я на самом деле пытаюсь создать сайт электронной коммерции под 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

И мой контроллер:

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

С этим он создает и дублирует продукт, например, если у меня есть 2 размера для 2 разных продуктов, он создает его 4 раза в базе данных вместо 2 (один идентификатор продукта с одним размером, а другой продукт с другим размером), у вас есть какое-либо решение?

1 Ответ

0 голосов
/ 20 июня 2020

Здесь мы go, я нашел решение вот оно, если оно может помочь некоторым из вас:

          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();
          }

Итак, я просто сменил свой контроллер, и теперь он отлично работает! Спасибо сообществу за вашу помощь

...