gpt4 book ai didi

sql - Sequelize 不使用模型中的字段别名

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

我有一个名为 proxyPool 的模型,其中包含下一个字段:

poolId: {
type: DataTypes.INTEGER,
references: {
model: 'pool',
key: 'id',
},
field: 'pool_id',
},
proxyId: {
type: DataTypes.INTEGER,
references: {
model: 'proxy',
key: 'id',
},
field: 'proxy_id',
},

这是一个 N:M 表,用于两个具有下一个关联的表:
proxy.associate = (models) => {
proxy.belongsToMany(models.pool, {
through: models.proxyPool,
foreignKey: 'proxy_id',
});
};


pool.associate = (models) => {
pool.belongsToMany(models.proxy, {
through: models.proxyPool,
foreignKey: 'pool_id',
});
};

当我调用 proxyPool.findOrCreate({where: {proxyId, poolId}}) 时,它​​说列 proxyPool.proxyId 不存在,但在原始 SQL 中我看到:
SELECT "id", "pool_id" AS "poolId", "createdAt", "updatedAt", "pool_id", "proxy_id" 
FROM "portnoi"."proxy_pool" AS "proxyPool"
WHERE "proxyPool"."proxyId" = '3' AND "proxyPool"."pool_id" = '1' LIMIT 1;

为什么它使用 poolId = pool_id 的别名,但不使用 proxyId = proxy_id 模型中描述的别名?

最佳答案

你有没有试过这样的查询?

proxyPool.findOrCreate({
where: {
proxyId: {
[Op.eq]: proxyId,
},
...
}
})

关于sql - Sequelize 不使用模型中的字段别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52372258/

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