0

我正在尝试使用以下文档在另一个模型的 beforeSave 函数中引用一个模型:http://docs.strongloop.com/display/LB/Advanced+topics%3A+models,它似乎不起作用。Em我错过了一些东西,有人可以帮忙吗?

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

2 回答 2

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
  }
};
于 2014-10-17T15:11:23.940 回答
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();
  }
};
于 2014-10-17T18:11:01.370 回答