查找值并将其保存到变量 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": {}
}
进一步阅读:
我是 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": {}
}
进一步阅读: