SailsJS:MySQL中的多对多关联

时间:2015-11-15 21:28:26

标签: mysql many-to-many sails.js waterline

我在发布此问题之前尝试搜索,但没有成功。

我在尝试理解在SailsJS中实现多对多关联的最佳方法时遇到了一些麻烦。

例如:

  

医院有很多专业

     

专业有很多医院

如何在MySQL中表示表,以便SailsJS对它们进行操作?

我有一个医院表和一个专业表。 我是否必须有一个 Hospital_Specialty (不确定这是否是正确使用的表名)表来处理这些关联?像:

  

Hospital_Specialty

     

id:int

     

hospital_id:int

     

specialty_id:int

我已经阅读了这份文件,但没有找到合适的方法来实现我的目标。

提前致谢

1 个答案:

答案 0 :(得分:3)

编辑:我最初的回答是完全错误的。

设置多个< - >的文档许多关系在这里: Many-to-Many | Sails.js

首先,您希望在Waterline而不是mysql中工作以使其正常工作。 您可以在模型中设置多个关系,如下所示:

Specialty.js Model

module.exports = {
  attributes: {
    hospitals:{
      collection: 'hospital',
      via: 'specialties'
    }
  }
}

Hospital.js Model

module.exports = {
  attributes: {
    specialties:{
      collection: 'specialty',
      via: 'hospitals'
    }
  }
}

这将设置所需的中间表。

如果您想使用复数形式,请由您决定。