【问题标题】:find value and save it to variable loopback查找值并将其保存到变量环回
【发布时间】:2018-04-09 00:07:45
【问题描述】:

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

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 的电视,则它会在库存表中搜索,如果找到(产品名称)电视有库存,则它会进行一些计算 假设计算前的库存数据像

  productname | quantity | price
      tv      |      1   | 1000

计算后(库存表)

 productname | quantity | price
      tv      |      1   | 1000

我怎么能在环回中做这件事,因为我在谷歌上没有找到任何与这种问题相关的东西说明我不想使用多个 api 或者有任何其他方法可以实现这一点

【问题讨论】:

    标签: strongloop loopback


    【解决方案1】:

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

    示例代码:

         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

    【讨论】:

    • 让 stockInstance 不保存它总是显示的表值让 stockInstance 取消定义
    猜你喜欢
    • 2015-12-17
    • 1970-01-01
    • 2019-07-28
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    相关资源
    最近更新 更多