gpt4 book ai didi

javascript - 在foreignKey关联中添加allowNull时出现问题1 :1 in the models with Sequelize

转载 作者:行者123 更新时间:2023-11-29 16:07:01 25 4
gpt4 key购买 nike

我正在使用 Node.js 使用 Sequelize 和 MySQL 数据库做一个简单的项目。我正在为我的模特协会建模。一个得到了 hasMany,另一个得到了奉子,我在两者中设置了信息(例如,as:...,foreignKey:...,onDelete:...),并在foreignKey中设置了属性allowNull。当我使用“belongsTo”方法保存模型时,在请求正文中传递“foreignKey”,它会正确保存。但是,当我使用关联方法 hasOne 的模型执行此操作时,它不起作用。我需要指定使用belongsTo 方法的模型ID。

const connection = require('../../config/database');
const DataTypes = require('sequelize').DataTypes;

const Course = connection.define('course', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
courseName: {
type: DataTypes.STRING(50),
field: 'course_name',
allowNull: false
}
},
{ timestamps: false });
Course.associate = models => {
Course.belongsTo(models.Lecturer, {
foreignKey: {
field: 'lecturer_id',
allowNull: false
},
as: 'lecturer'
});
Course.belongsToMany(models.Student, {
through: 'student_course',
as: 'students',
foreignKey: 'curse_id',
otherKey: 'student_id'
})
}

module.exports = Course;

const connection = require('../../config/database');
const DataTypes = require('sequelize').DataTypes;

const Lecturer = connection.define('lecturer', {
lecturerName: {
type: DataTypes.STRING(50),
field: 'lecturer_name',
allowNull: false
}
},
{ timestamps: false });
Lecturer.associate = models => {
Lecturer.hasOne(models.Course, {
foreignKey: {
field: 'lecturer_id',
allowNull: false
},
as: 'course'
})
}

module.exports = Lecturer;

结果:[ 验证错误项 { message: 'course.courseId 不能为空', 类型:'非空违规', 路径:'类(class)ID', 值:空, 来源:'核心', 实例:[对象], validatorKey: 'is_null', 验证器名称:空, validatorArgs: [] } ]

最佳答案

我还无法发表评论,但看起来错误显示了驼峰式列名 (courseId),而不是蛇形式列名 (course_id)。

此外,您在 Course.belongsToMany 关联中拼错了“course_id”。

关于javascript - 在foreignKey关联中添加allowNull时出现问题1 :1 in the models with Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55641048/

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