【问题标题】:belongsTo Or hasOne Sequelize属于To 或 hasOne 续集
【发布时间】:2019-07-05 07:18:08
【问题描述】:
我有 2 个表,Users 和 Profile_Education。用户数据来自 auth0/login 表单,而 Profile_Education 来自使用 node.js/express 的 API。我希望 Profile_education 有一个外键来跟踪数据并根据登录用户将其显示在配置文件中。
在我的项目中,我应该使用belongsTo 还是hasOne,还是两者都使用?
【问题讨论】:
标签:
mysql
node.js
sequelize.js
【解决方案1】:
您可以同时使用它们,但在合适的地方使用它,根据 DOC :
当源模型中存在关联信息时,我们可以
使用属于To。在这种情况下 Player 适用于 belongsTo 因为
它有 teamId 列。
Player.belongsTo(Team) // `teamId` will be added on Player / Source model
当目标模型中存在关联信息时,我们可以
使用 hasOne。在这种情况下,Coach 适合 hasOne,因为 Team
模型将有关其 Coach 的信息存储为 coachId 字段。
Coach.hasOne(Team) // `coachId` will be added on Team / Target model
我想这会清除你所有的疑惑,