环回对模型的引用

时间:2014-10-17 09:48:22

标签: model loopbackjs

我尝试在另一个模型的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();
  }
};

2 个答案:

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