在loopback上将对象添加到hasManyTrough关系

时间:2016-05-29 17:47:29

标签: javascript node.js loopback

我有三个模型:

{
  "name": "ExeboardUserBoard",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {},
  "validations": [],
  "relations": {
    "exeboardUser": {
      "type": "belongsTo",
      "model": "exeboardUser",
      "foreignKey": "exeboardUserId"
    },
    "board": {
      "type": "belongsTo",
      "model": "board",
      "foreignKey": "boardId"
    },
  },
  "acls": [],
  "methods": {}
}

型号:ExeboardUser

{
  "name": "ExeboardUser",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "name": {
      "type": "string",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "boards": {
      "type": "hasMany",
      "model": "Board",
      "foreignKey": "exeboardUserId",
      "through": "ExeboardUserBoard"
    }
  },
  "acls": [],
  "methods": {}
}

模特:董事会

{
  "name": "Board",
  "plural": "Boards",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "name": {
      "type": "string",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "users": {
      "type": "hasMany",
      "model": "ExeboardUser",
      "foreignKey": "boardId",
      "through": "ExeboardUserBoard"
    }
  },
  "acls": [],
  "methods": {}
}

我正在尝试使用具有单个用户的电路板预填充我的数据库。但是我无法访问board.users属性。它给了我错误:

TypeError: Cannot read property 'type' of undefined

这是我的代码

var users = [
    {
      name: "test"

    }
  ];
  //Create Board
  function createBoard(cb){
    pgdb.automigrate('Board', function(err) {
      //if (err) return cb(err);
      var Board = app.models.Board;
      Board.create([
        {name:"Board 1"
        },
        {name:"Board 2"
        }

        ],function(err,boards){
          boards[0].users.add(users[0]);

      });

    });

    //Create ExeboardUser
  function createExeboardUser(cb){
    pgdb.automigrate('ExeboardUser', function(err) {
      //if (err) return cb(err);
      var ExeboardUser = app.models.ExeboardUser; 
        ExeboardUser.create(users,function(err,users){


        });
    });
  }

0 个答案:

没有答案