Laravel: передача данных из корзины на страницу оформления заказа - PullRequest
0 голосов
/ 24 апреля 2018

Я работаю над корзиной покупок, в настоящее время передаю информацию о корзине, такую ​​как, Цена продукта и количество, на страницу оформления заказа, поэтому при оформлении заказа я смогу сохранить данные в другую таблицу, такую ​​как purchased_items и т. Д.

Я передаю данные со страницы корзины на страницу оформления заказа с помощью скрытых полей ввода. Там я снова передаю значения, чтобы оформить просмотр скрытых полей, чтобы я мог получить эти данные в методе извлечения для сохранения их в БД.

Проблема в том, что я передаю массивы, потому что продукты и их количества находятся в массиве.

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

Это дает мне:

Преобразование массива в строку

Что будет хорошим способом решения этой проблемы?

Ответы [ 3 ]

0 голосов
/ 24 апреля 2018

Попробуйте это

<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'))

0 голосов
/ 24 апреля 2018

Не будет ли проще сохранить ваши продукты в сеансе или в файле cookie?

Session::put('products', $product); // create a session
Session::push('products', $newProduct); // add a product to the array
$products = Session::get('products'); // read the products array
0 голосов
/ 24 апреля 2018

Для правильной работы необходимо создать один вход для каждой записи массива:

 @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) снова будет содержать ваш массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...