获取环回HasAndBelongsToMany关系中的所有数据

时间:2017-12-07 09:49:14

标签: node.js loopback

需要以下关系的所有数据,我使用哪种关系。

enter image description here

如何定义关系? 感谢。

1 个答案:

答案 0 :(得分:0)

在两个模型之间声明many-to-many关系时,一种方法是创建另一个表(模型),将两个相关模型的主键存储为单个记录。此方法从公共(through)模型添加额外提取以标识模型记录之间的关系。但它肯定会阻止数据冗余。

在loopback中有两种实现many-to-many关系的方法。如果我们希望明确声明干预模型,则使用hasManythrough模型的关系,这是将两个相关模型的id存储为单个模型的模型记录。如果我们不想要任何明确的干预模型,那么我们使用hasAndBelongsToMany关系。

要使用hasManyThrough关系定义关系,请在模型的定义中使用类似于hasMany的以下格式,但使用through模型的其他声明。

Model1.json中的

: - "relations": { "relation1": { "type": "hasMany", "model": "modelName2", "through": "interveningModelName" },

Model2.json中的

: - "relations": { "relation2": { "type": "hasMany", "model": "modelName1", "through": "interveningModelName" },

为了通过REST api使用hasAndBelongsToMany关系,我们必须声明一个介入模型,否则我们不能使用REST端点来使用这种多对多关系。 如果没有声明干预模型,我们必须使用标准的perssistedModel方法(如create)来添加两个模型之间关系的实例。 关于hasAndBelongsToMany关系的澄清:https://github.com/strongloop/loopback/issues/1960