2014-10-17 30 views
0

我想引用另一個模型的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

忽略你的樣品的「關係」的一部分,這裏是你的代碼應該是什麼樣子......

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 
    } 
}; 
0

你不能直接訪問app變量Model1.js,你需要通過它訪問它

Model1.app 

通過Model1.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(); 
    } 
};