необходимо вставить данные корзины в базу данных Mysql, используя Laravel - PullRequest
0 голосов
/ 28 марта 2020

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

cart: [
  0: {
   product: {
    product_id: 1,
    product_name: "Item One"
   },
   quantity: 4   
 },
 1: {
   product: {
    product_id: 2,
    product_name: "Item two"
   },
   quantity: 7   
 }
]

Мне нужно добавить эти данные в базу данных Mysql с помощью контроллера Laravel. я понятия не имею с написанием функции контроллера для управления этими данными с автоматически сгенерированным уникальным order_id. я получил этот массив из моего внешнего кода VueJs. Кто-нибудь может мне помочь в этом?

мой запрос-> все () данные выглядят так

array:1 [
  "{"cart":" => array:1 [
    "{"product":{"id":1,"category":1,"product_name":"Brinjal 500g","product_image":"1585409454.jpeg","product_price":232,"unit":"500g","product_description":null,"stock":"In Stock","product_status":1,"show":1,"delievery_date":null,"vendor":null,"quantity":18,"item_type":"feature_product","created_at":"2020-03-28T15:30:54.000000Z","updated_at":"2020-03-28T15:30:54.000000Z","deleted_at":null,"categories":{"id":1,"category_name":"Fresh Fruits","category_image":null,"category_description":null,"category_status":1,"show":0,"created_at":"2020-03-28T15:30:12.000000Z","updated_at":"2020-03-28T15:30:12.000000Z","deleted_at":null}},"quantity":1}" => null
  ]
]

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

L oop через ваши данные, поступающие и создайте массив, как показано ниже.

Попробуйте это, создав массив данных и вставив массив в базу данных как массив данных:

// this will decode your json data that you're getting in the post data
$postdata = json_decode($postdata, true);

$data = [];
foreach ($postdata as $key => $value) {        
    $data[$key]['product_id'] = $value['product']['id'];
    $data[$key]['product_name'] = $value['product']['product_name'];
    $data[$key]['quantity'] = $value['quantity'];
}

// $data now will have data as following structure

$data = [[
    'product_id' => 2,
    'product_name' => "Item two",
    'quantity' => 7   

],
[
    'product_id' => 2,
    'product_name' => "Item two",
    'quantity' => 7   

]];

$order = Order::create($data);
0 голосов
/ 28 марта 2020

Для вставки данных:

Model::create($data);

Для обновления данных:

Model::where('id', $id)->update($data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...