如何添加现有项目之间的关系

How to add relation between already existing items

我在编写用于在标签和项目之间建立关系的代码时遇到问题。 (我可以在 Api Explorer 中通过(PUT/items/{id}/tags/rel/{fk} - 但不是在代码中)

我用标签创建了一个项目。
我通过首先创建项目来做到这一点,
然后将所有标签(在标签名称上唯一)放入 findOrCreate.

但问题在于将现有标签添加到新创建的项目。

我的模型定义为:

  "relations": {
    "tags": {
      "type": "hasAndBelongsToMany",
      "model": "Tag",
      "foreignKey": ""
    }
  },

代码为:

  console.log(tagsArr);     //array of tags
  Item.findById(linkId,function (err,instance) {

    instance.tags.create(tagsArr, function (err, addedinstances) {
      console.log(err);
    });
  })

eighter 我使用 instance.tags.create()instance.tags.add() 我得到:

 ER_DUP_ENTRY: Duplicate entry '1' for key 'PRIMARY'

我找到了:

instance.__link__tags(tagId, function (err, added) {
               console.log(err);
               console.log(added);
             });

其中 tags 是相关模型,tagId 是现有标签的 ID 号。