如何使用mysql数据源

时间:2017-08-15 21:55:42

标签: loopbackjs

Windows 7 x64 loopback-cli 3.10

我已经看到了一些其他相关的问题,但是他们没有解决我的问题我已经阅读了有关如何在另一个模型中访问不相关模型的文档,但在我的情况下它将无法正常工作

我希望能够在

中访问用户模型中的角色模型
let models = require('../../server/model-config.json');
let app = require('../../server/server.js');

module.exports = function (user) {

  let Role = app.models.Role;
  let RoleMapping = app.models.RoleMapping;

}

以上结果都是未定义的。

作为启动脚本,这可以工作,但我更希望它都在用户模型中。

module.exports = function (app) {
  var User = app.models.user;
  var Role = app.models.Role;
  var RoleMapping = app.models.RoleMapping;


  RoleMapping.belongsTo(User);
  User.hasMany(RoleMapping, {foreignKey: 'principalId'});
  Role.hasMany(User, {through: RoleMapping, foreignKey: 'roleId'});
};

我的关系被定义为

user.json

  "relations": {
    "roles": {
      "type": "hasMany",
      "model": "Role",
      "foreignKey": "principalId",
      "through": "RoleMapping"
    }
  }

1 个答案:

答案 0 :(得分:1)

我不确定您的意思,但是一旦加载了所有模型,您就可以访问。以下

let models = require('../../server/model-config.json');
let app = require('../../server/server.js');

module.exports = function (user) {
  app.on('started', function(){
     let Role = app.models.Role;
     let RoleMapping = app.models.RoleMapping;
  }); 
}

相关链接:Loopback: How to add afterRemote of a model to another model