Createmany в Strongloop Loopback

У меня есть модель Order, которая имеет много моделей OrderItem. Но как только клиент хочет создать заказ, он должен сначала создать объект заказа, а затем для каждого продукта, который он добавил в свою корзину, ему нужно создать отвечающие элементы заказа отдельно. Как вы могли заметить, это вызывает много избыточных запросов. Может быть, я могу создать собственный метод для OrderItems, который использует список продуктов. Но мне было интересно, есть ли для этого встроенный механизм, например createMany, поскольку это очень полезная операция.

ЗАКАЗАТЬ МОДЕЛЬ

 {
  "name": "Order",
  "plural": "Orders",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "customerId": {
      "type": "number",
      "required": true
    },
    "branchId": {
      "type": "number",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "orderItems": {
      "type": "hasMany",
      "model": "OrderItem",
      "foreignKey": "orderId"
    }
  },
  "acls": [],
  "methods": []
}

МОДЕЛЬ ЗАКАЗА

{
  "name": "OrderItem",
  "plural": "OrderItems",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "UnitPrice": {
      "type": "number"
    },
    "productId": {
      "type": "number",
      "required": true
    },
    "purchaseOrderId": {
      "type": "number",
      "required": true
    },
    "quantity": {
      "type": "number"
    }
  },
  "validations": [],
  "relations": {
    "product": {
      "type": "belongsTo",
      "model": "Product",
      "foreignKey": "productId"
    },
    "purchaseOrder": {
      "type": "belongsTo",
      "model": "PurchaseOrder",
      "foreignKey": ""
    }

  },
  "acls": [],
  "methods": []
}

person ibibik    schedule 03.05.2015    source источник


Ответы (1)


Метод создания обратной петли также принимает массив объектов (см. документы PersistedModel.create) поэтому вам следует попробовать создать один вызов «создать» и отправить массив OrderItems.

person Alexandru Savin    schedule 06.05.2015
comment
Красиво, не заметил, что у PersistedModel есть ввод массива, спасибо за указание. - person ibibik; 07.05.2015