我尝试在另一个模型的beforeSave函数中引用模型,使用此文档:http://docs.strongloop.com/display/LB/Advanced+topics%3A+models并且它似乎无法工作。我错过了什么,有人可以帮忙吗?
(model1.js)
var loopback = require('loopback');
var app = module.exports = loopback();
module.exports = function (Model1) {
Model1.beforeSave = function (next, obj) {
if (obj.relation()) return next();
console.log(app.models.Model2);
//next();
}
};
答案 0 :(得分:0)
忽略示例中的“关系”部分,这是您的代码应该是什么样的......
module.exports = function (Model1) {
Model1.beforeSave = function (next, obj) {
// if (obj.relation()) return next();
console.log(Model1.app.models.Model2);
// or
console.log(Model1.app.models('Model2'));
next(null, obj); // "null" = "no error". And you may have modified obj above in some way
}
};
答案 1 :(得分:0)
您无法直接在Model1.js中访问app
变量,您需要通过
Model1.app
通过Model1.app,您将获得app的实例,然后您可以为它调用任何方法。
(model1.js)
var loopback = require('loopback');
var app = module.exports = loopback();
module.exports = function (Model1) {
Model1.beforeSave = function (next, obj) {
if (obj.relation()) return next();
console.log(Model1.app.models.Model2);
//next();
}
};