环回关系

时间:2016-07-31 10:47:37

标签: javascript loopbackjs

嗨,我正在尝试这个例子 https://docs.strongloop.com/display/public/LB/HasAndBelongsToMany+relations 我有这两个模型:

部分

{
  "name": "Part",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "partNumber": {
      "type": "number"
    }
  },
  "validations": [],
  "relations": {
      "parts": {
        "type": "hasAndBelongsToMany",
        "model": "Assembly",
        "foreignKey": ""
      }
  },
  "acls": [],
  "methods": {}
}

装配

{
  "name": "Assembly",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {
    "parts": {
      "type": "hasAndBelongsToMany",
      "model": "Part",
      "foreignKey": ""
    }
  },
  "acls": [],
  "methods": {}
}

当我尝试在程序集中添加元素时,我有一个未定义的元素。

我正在使用

assembly.js

Assembly.parts.add(part, function(err) {
  ...
});

但是assembly.parts未定义。

我做错了什么? 感谢

1 个答案:

答案 0 :(得分:2)

你在Assembly上使用了一个错误的静态方法。

关系方法应该用作原型方法。这是有道理的。

所以你可以这样打电话:

assembly_instance.parts.add(...