gpt4 book ai didi

node.js - Sequelize 一对多关联的问题

转载 作者:行者123 更新时间:2023-12-03 22:42:51 24 4
gpt4 key购买 nike

我有一个需要使用的现有数据库。

用户表看起来有点像这样:

id
name
storeId

商店表看起来有点像这样:
id
name
address

用户只能与一家商店相关联。我希望能够做的是:
User.hasOne(models.Store, { foreignKey: 'storeId' } ); // Working with existing db, so I need to specify the column name

然后,能够做这样的事情:
User.find(1, { include: [models.Store] })

然而,仅仅这样做是行不通的。我收到以下错误:
Unknown column 'Store.storeId' in 'field list'

当我收到该错误时,它正在尝试运行此查询:
SELECT `user`.*, `store`.`id` AS `store.id`, `store`.`name` AS `store.name`, `store`.`storeId` AS `store.storeId` FROM `user` LEFT OUTER JOIN `store` AS `store` ON `user`.`id` = `store`.`storeId` WHERE `user`.`id`=1 LIMIT 1;

这显然是错误的。它应该加入 user.storeId = store.id ,而不应该尝试选择 store.storeId

我不知道如何使这项工作 - 任何提示?

我正在使用 sequelize v1.7.9

最佳答案

试试这个

User.hasOne(models.Store, { foreignKey: 'storeId' , as:'store'})

User.find(1, { include: [{model: models.Store, as: 'store'}] })

关于node.js - Sequelize 一对多关联的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495125/

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