使用Waterline& amp ;;使用同一模型的多对多协会Sails.js

时间:2015-05-18 10:41:50

标签: orm sails.js models waterline

我正在尝试使用Waterline在Sail.js中的一个模型上创建多对多关系。该模型如下,被称为" Disciplne" (即学科):

module.exports = {

  attributes: {
    'name': {
        type: 'string',
        unique: true,
        required: true,
      lowercase: true
    },
    'users': {
        collection: 'user',
        via: 'discipline'
    },
    recommendations: {
        collection: 'recommendation',
        via: 'discipline'
    },
    related: {
        collection: 'discipline',
        via: 'related'  
    }
  }

};

此处归结的关键是related,我正在尝试设置多对多关系,引用Discipline模型中的其他记录。当我运行这个Sails.js时,会自动创建一个名为discipline_related__discipline_related的连接表,这应该是我想的。然后当我尝试创建一个具有相关id的新纪律文档时,会发生这种情况。

首先,我尝试创建新的学科:

Creating the new discipline with related discipline specified

这里的身份证与现有的学科和政治科学有关。但是,从图像中可以看到,结果不包括related字段。然后,如果我再查询该模型的内容,则related字段不再显示:

End result in discipline model

但是,连接表已填充,但只包含一个id引用,因此无法真正设置多对多关系:

join table result

有谁知道我在这里做错了什么?或者Waterline + Sails.js根本不支持此功能?

0 个答案:

没有答案