查找值并将其保存到变量 loopback

find value and save it to variable loopback

我是 loopback 的新手所以不知道如何解决这种情况假设我有模型销售和模型库存 这是我的代码

Sales.beforeRemote('create', function (ctx, user, next) {
     var stock=app.models.estshopinventory
     var value=  stock.find({where: {product_id:1}})// is this possible to assign value which got from stock

});

如果用户销售价格为 1000 且数量为 1 的电视,那么它会在库存中搜索 table & 如果它在库存中找到 (productname) 电视,那么它会进行一些计算 假设计算前的库存数据如

  productname | quantity | price
      tv      |      1   | 1000

计算后(库存table)

 productname | quantity | price
      tv      |      1   | 1000

我怎么能在环回中做这件事,因为我在 google 上没有找到任何与此类问题相关的信息 我不想使用多个 api 或者有没有实现此目的的其他方法

据我所知,您想查找库存中是否存在即将出售的产品(由销售模型中的条目标记)。如果是这样,那么库存中注册的产品相关信息将被修改,并且可以说可用产品的数量减少了一个。下面是我想出的解决方案,但还没有真正彻底地测试它。

示例代码:

     module.exports = function(Sales) {
  Sales.beforeRemote('create', function(ctx, data, next) {
    let Stock = app.models.Stock;
    let soldPieces = ctx.args.data.soldPieces;
    let stockInstance = Stock.findOne({
      where: {productName: ctx.args.data.productName},
    })
    let productData = Stock.update(
      {"productName": ctx.args.data.productName},
      {
        "availablePieces": stockInstance.availablePieces - soldPieces,
      }
    );
    next(); //Make sure to call it because such function are asynchronous
  });
};

sales.json

    {
  "name": "Sales",
  "plural": "Sales",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "productName": {
      "type": "string",
      "required": true
    },
    "productPrice": {
      "type": "string"
    },
    "soldPieces": {
      "type": "number"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

stock.json

{
  "name": "Sales",
  "plural": "Sales",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "productName": {
      "type": "string",
      "required": true
    },
    "productPrice": {
      "type": "string"
    },
    "soldPieces": {
      "type": "number"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

进一步阅读:

https://loopback.io/doc/en/lb3/Creating-updating-and-deleting-data.html#updating-data-model-instances