我将如何在 Loopback 模型中使用聚合函数?如果我有一个由 mysql 数据库支持的模型,我是否可以让 Model1 与 Model2 具有 hasMany 关系(具有给定的数字属性),并且在 Model1 中有一个属性可以从 Model2 中获取该字段的 SUM?
{
“模型1”:{
“关系”:{
“模型2s”:{
"type": "hasMany",
“模型”:“模型 2”,
"foreignKey": "model1Id"
}
},
“特性” : {
“全部的” : {
“类型”:“数字”
[Model2‘金额’字段的总和]
}
}
},
“模型2”:{
“关系”:{
“模型1s”:{
“类型”:“属于”,
“模型”:“模型 1”,
"foreignKey": "model1Id"
}
},
“特性” : {
“数量” : {
“类型”:“数字”
}
}
}
}
在另一件事上,将条件放入模型中的正确方法是什么,以便 getter 返回的值取决于某个表达式?我想从关系中返回一个值(如果存在),否则返回主模型上存在的值。
我试过这个(伪代码):
module.exports = 功能(MyModel){
MyModel.on('附加', function() {
var app = MyModel.app;
MyModel.getter['total'] = function() {
返回(this.model1Id?this.model1.total:this.total);
};
});
};
但是,我最终得到一个RangeError: Maximum call stack size exceeded错误(类似于这个问题中提到的)。我假设这是因为它一遍又一遍地递归调用 getter,但我不确定解决问题的方法。
提前致谢...