Loopbackjs HasManyThrough vs Hasandbelonggamny
这些HasManyThrough和HasandBongTomany之间有什么区别 VSLoopbackjs HasManyThrough vs Hasandbelonggamny,loopbackjs,Loopbackjs,这些HasManyThrough和HasandBongTomany之间有什么区别 VS 答案在于关系名称本身。我将使用文档中提供的示例 有许多路径: 医生预约了许多病人 病人预约了许多医生 在这里,医生和患者通过预约相互联系,但不是直接联系。预约模式有助于建立一种既属于医生又属于患者的关系。由于预约,患者可以预约尽可能多的医生。医生可以看到为他/她预约的患者数量 哈桑德贝隆酒店: 这个学生有许多班级,属于许多班级 班级有很多学生,属于很多学生 在这里,学生和班级都是直接相关的。学生通常参
答案在于关系名称本身。我将使用文档中提供的示例 有许多路径:
- 医生预约了许多病人
- 病人预约了许多医生 在这里,医生和患者通过预约相互联系,但不是直接联系。预约模式有助于建立一种既属于医生又属于患者的关系。由于预约,患者可以预约尽可能多的医生。医生可以看到为他/她预约的患者数量
- 这个学生有许多班级,属于许多班级
- 班级有很多学生,属于很多学生 在这里,学生和班级都是直接相关的。学生通常参加许多课程,如物理、化学等,所以他们有很多课程。由于每堂课都有人值勤,所以学生分为许多班。 同样地,一堂课上有很多学生,所以这堂课上有很多学生。由于每个学生的出勤率都保持不变,因此班级属于许多学生
hasManyThrough
只是一个定义了直通模型的hasMany
关系。请参见中的参数至
hasandbelongtomany
本质上是通过双方的关系设置hasmany的快捷方式。如果未定义到模型,它将连接两个模型名称并尝试按该名称查找模型,如果失败,它将尝试按该名称从表中提取关系()
如果您定义了Assembly
和Part
之间的hasandbelongtomy
关系,它将在Assembly
和AssemblyPart
之间以及在Part和AssemblyPart之间设置一对hasMany
和belongsTo
关系。如果未定义AssemblyPart
模型,它将尝试使用名为AssemblyPart
的表(或集合,我猜如果是MongoDB,我主要是RDBMS的人)。它还将使用Assembly-Part
作为贯穿模型(以便Assembly.parts
可用)定义hasManyThrough
从Assembly
到Part
的关系以及Part
到的对应关系
我想说的是,您可以通过手动定义一个AssemblyPart
模型,并将相应的hasMany
和belongsTo
分别定义为Assembly
和Part
模型和两个hasManyThrough
:from组装
到零件
和从零件
到组装
解释得很好,好极了!这两种关系都需要联接表,对吗?实现上的差异是什么?