
这是更普遍的问题。
主要区别在于语义。您必须确定关系是什么(有些愚蠢的示例):
人只有一只右臂。 右臂属于一个人。
相反地说,看起来有点奇怪:
右臂有一个男人。 一个男人属于右臂。
你可以没有右臂的男人。但是单独的右臂是没有用的。
如果RightArm和Men是模型的续集,它可能看起来像:
Man.hasOne(RightArm);RightArm.belongsTo(Man);
正如您所注意到的,db表结构也有所不同:
BelongsTo将在源上添加foreignKey,而hasOne将添加到目标上
(Sequelize在表’RightArm’中创建新列’ManId’,但不会在’Man’表中创建’RightArmId’列)。
我看不出更多差异。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)