在 Strongloop Loopback 中创建多个

Createmany in Strongloop Loopback

我有一个包含许多 OrderItem 模型的 Order 模型。但是一旦客户想要创建一个订单,它必须首先创建一个订单对象,然后为他添加到他的购物车中的每个产品,他需要分别创建响应 OrderItems。正如您可能注意到的那样,它会导致许多冗余请求。也许我可以为使用产品列表的 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": []
}

Loopback "create" 方法也接受一个对象数组(参见 PersistedModel.create 文档)因此您应该尝试创建一个 "create" 调用并发送一个 OrderItems 数组。