我希望能够为每个模型添加行数。我知道如何使用远程或操作挂钩添加它,但据我所知,您必须将该代码添加到您想要使用它的每个模型。相反,我只想写一个钩子,无论要求什么型号都会触发。
答案 0 :(得分:1)
您可以使用mixin功能。
在model-confg.js
中指定mixins的位置:
{
"_meta": {
"mixins": [
"loopback/common/mixins",
"loopback/server/mixins",
"../common/mixins",
"./mixins"
],
...
},
...
}
在指定的mixins文件夹中创建一个mixin(例如server/mixins/<mixin-Name>.js
):
module.exports = function(Model, options) {
Model.observe('before save', function event(ctx, next) {
// Your row count logic
next();
});
};
将mixin添加到您的模型中:
{
"name": "MyModel",
"base": "PersistedModel",
"properties": {
...
},
...
"mixins": {
"MixinName": true
},
...
}
另一种选择是内置PersistedModel
的扩展。您可以添加钩子,然后将模型基于此扩展PersistedModel
。