sequelize.js - sequelize 返回同一行的两倍,但大写的情况是第二个
问题描述
对于以下型号
'use strict';
module.exports = (sequelize, DataTypes) => {
const Execution = sequelize.define('Execution', {
uuid4 : DataTypes.STRING,
componentId : DataTypes.INTEGER,
isComplete : DataTypes.BOOLEAN
}, {});
Execution.associate = function(models) {
Execution.belongsTo(models.Component, {foreignKey: 'componentId', as: 'component'})
};
return Execution;
};
创建新的“执行”时,我得到以下结果:
[
{
"id": 1,
"uuid4": "d520ce1c-e240-4cdf-a584-70c78ef626a7",
"componentId": 1,
"createdAt": "2019-08-30T17:55:45.000Z",
"updatedAt": "2019-08-30T17:55:45.000Z",
"ComponentId": 1
}
]
为什么componentId出现两次?一次用大写的“C”?有什么线索吗?
解决方案
ComponentId
默认情况下不是由 sequlize 生成的,因此它必须在代码中的某处键入问题,如果它是由 sequlize 生成的,那么它应该看起来像componentId
.
所以它看起来像打字问题,你可能已经定义了Component
这样的关联:
Component.hasMany(Execution, { foreignKey: 'ComponentId' }); // <--- HERE
OR
Component.hasOne(Execution, { foreignKey: 'ComponentId' }); // <--- HERE
只需更改ComponentId
为componentId
.
推荐阅读
- google-sheets - Google 表格的 QUERY 多张表格并返回唯一值
- swift - 删除子图层中的动画
- javascript - 如何使用 node.js 将 _bsontype objectID 值转换为 string/objectID 以插入 mongoDB
- android - 未使用 DiffUtil 调用 getItemCount 或 onBindViewHolder
- c# - 从 Visual Studio 启动 ASP.NET Core 不是从构建文件夹开始
- java - 如何根据活动配置文件访问 application-{profile}.properties 文件
- amazon-web-services - AWS AppSync DDoS protection. What are the alternatives?
- swift - UICollectionViewFlowLayout 中的 UICollectionViewCell 重复行
- python - 如何在 Django 上重命名上传的文件,然后再将其发送到亚马逊 s3 存储桶?
- python - 输出 CSV 文件而不下载它