【问题标题】:Loopback app.models.ModelName is undefined环回 app.models.ModelName 未定义
【发布时间】:2018-08-06 20:20:03
【问题描述】:

下面的代码是从另一个模型访问一个模型,返回未定义

var app = require('../../server/server');
module.exports = function(Regions) {
    const Media = app.models.Media;
    console.log( Media) // Returns Undefined
}

我也在下面尝试过,但同样的错误

module.exports = function(Regions) {
     console.log( Regions.app.models.Media) // Returns Undefined
}

【问题讨论】:

  • 这个示例代码应该可以工作。您是否在 server/model-config.json 中添加了媒体模型?

标签: node.js loopbackjs loopback


【解决方案1】:

您是否尝试过像这样访问您的模型:

require('loopback').getModel('Regions')

【讨论】:

    【解决方案2】:

    就是这样:

    module.exports = function (Region) {
      let app
      
      Region.beforeRemote('find', function (ctx, unused, next) {
        // Do something
        next()
      })
      
      Region.on('attached', function (a) {
        app = a
      })
    }

    如果您想在启动时跨模型执行操作,您还可以创建启动脚本:

    【讨论】:

      【解决方案3】:

      您的示例代码是否正确位于 common/models/regions.js 中?

      这里有一些其他的 sn-p 给你:

      'use strict';
      
      var app = require('../../server/server');
      var models = app.models;
      var Media;
      app.on('started', function () {
          Media = models.Media;
      });
      
      module.exports = function (Regions) {
      
          ...
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-05
        • 2012-11-29
        • 2019-01-08
        • 2016-06-19
        • 2013-02-19
        相关资源
        最近更新 更多