2014-10-17 1 views
0

Я пытаюсь ссылаться на модель в функции beforeSave другой модели, используя эту документацию: http://docs.strongloop.com/display/LB/Advanced+topics%3A+models и, похоже, она не работает. Em, я что-то пропустил, может кто-то помочь?loopback ссылка на модель

(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(); 
    } 
};