gpt4 book ai didi

postgresql - Postgres 包含抛出 "name": "SequelizeEagerLoadingError"

转载 作者:行者123 更新时间:2023-12-03 22:40:00 28 4
gpt4 key购买 nike

我无法弄清楚为什么我的包含语句会引发此错误

"name": "SequelizeEagerLoadingError"

我有问题的 Controller 功能看起来像这样
retrieve (req, res) {
return User
.findOne({
where: {
token_id: req.params.token_id
},
include: [{
model: subscribedcurrency,
as: 'subscribed currency'
}]
})
.then(user => {
if (!user) {
return res.status(404).send({
message: 'User Not Found'
})
}
return res.status(200).send(user)
})
.catch(error => res.status(400).send(error))
},

订阅货币的模型如下所示
module.exports = (sequelize, DataTypes) => {
var SubscribedCurrency = sequelize.define('SubscribedCurrency', {
symbol: {
type: DataTypes.STRING,
allowNull: false
},
name: {
type: DataTypes.STRING,
allowNull: false
},
priceAtSubscription: {
type: DataTypes.STRING,
allowNull: false
}
})
SubscribedCurrency.associate = (models) => {
SubscribedCurrency.hasMany(models.User, {
foreignKey: 'userId',
onDelete: 'CASCADE'
})
}
return SubscribedCurrency
}

我试过改变它的查询方式,用户的主键,几乎所有我能想到的。 User 和 subscribedCurrency 之间的关系是多对多的。

没有包含语句和 findOne 查询工作得很好!

最佳答案

我认为您只需要删除 as: 'subscribed currency' ,因为您还没有定义与别名的关联。

所以从这个:

include: [{
model: subscribedcurrency,
as: 'subscribed currency'
}]

对此:
include: [{
model: subscribedcurrency,
}]

关于postgresql - Postgres 包含抛出 "name": "SequelizeEagerLoadingError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50094831/

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