这太令人发疯了,如何获得回送模型,以便可以以编程方式使用它?我有一个名为“Notification”的持久模型。我可以使用REST资源管理器与其进行交互。我希望能够在服务器中使用它,即Notification.find(...)。我执行app.models()并看到列出的内容。我已经做到了:

var Notification = app.models.Notification;

并获得一个巨大的“不确定”的脂肪。我已经做到了:
var Notification = loopback.Notification;
app.model(Notification);
var Notification = app.models.Notification;

还有另一个大胖子“undefined”。

请说明为获得使用以下方法定义的模型所要做的所有工作:
slc loopback:model

提前致谢

最佳答案

您可以使用ModelCtor.app.models.OtherModelName从您的自定义方法访问其他模型。

/** common/models/product.js **/
module.exports = function(Product) {
  Product.createRandomName = function(cb) {
    var Randomizer = Product.app.models.Randomizer;
    Randomizer.createName(cb);
  }

  // this will not work as `Product.app` is not set yet
  var Randomizer = Product.app.models.Randomizer;
}

/** common/models/randomizer.js **/
module.exports = function(Randomizer) {
  Randomizer.createName = function(cb) {
    process.nextTick(function() {
      cb(null, 'random name');
    });
  };
}

/** server/model-config.js **/
{
  "Product": {
    "dataSource": "db"
  },
  "Randomizer": {
    "dataSource": null
  }
}

10-04 15:53