gpt4 book ai didi

node.js - 包括双方的一对一关联

转载 作者:行者123 更新时间:2023-12-03 22:26:54 25 4
gpt4 key购买 nike

我有两个模型需要以一对一的方式连接:Coach 和 Team。一支球队只有一名教练,一名教练只有一支球队。

我需要能够从双方包括:有时我询问教练并包括团队,有时我询问团队并包括教练。

现在我不确定:我是否需要在每个表上创建引用列(表“Teams”中的 CoachId 和表“Coaches”中的 TeamId)?

我尝试创建这两列并像这样建立关联:

module.exports = models => {
models.Coach.hasOne(models.Team)
models.Team.belongsTo(models.Coach)
}

但出于某种原因,当我创建一个 Coach 并设置现有 TeamId 时,TeamId 列保持为空。此外,即使它已被填充,也必须使用正确的 TeamId 更新 Coach 行,这感觉很奇怪。

是否可以一次写入完成,然后按照上述建议从双方查询?感觉我仍然没有理解 Sequelize 的一些基本知识,即使在使用它一段时间之后。

谢谢!

最佳答案

从双方查询,需要使用直通表

module.exports = models => {
models.Coach.hasOne(models.Team)
models.Team.belongsTo(models.Coach, {through: 'TeamCoach'})
}

TeamCoach 将链接两个表中的主键,以便进行双向查询。

关于node.js - 包括双方的一对一关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55744878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com