Node.js 使用sequelize newCourse.setCategory不是一个函数
我正在对课程和类别具有m-t-m关系的课程进行crud操作 我的模型是两个独立的文件 课程模式Node.js 使用sequelize newCourse.setCategory不是一个函数,node.js,express,sequelize.js,Node.js,Express,Sequelize.js,我正在对课程和类别具有m-t-m关系的课程进行crud操作 我的模型是两个独立的文件 课程模式 const Sequelize = require('sequelize') const sequelize = require('../database/connection') const UserModel = require('./User') const CategoryModel = require('./Category') const Course = sequelize.defin
const Sequelize = require('sequelize')
const sequelize = require('../database/connection')
const UserModel = require('./User')
const CategoryModel = require('./Category')
const Course = sequelize.define('Course', {
id: {
type: Sequelize.UUIDV4,
primaryKey: true,
defaultValue: Sequelize.UUIDV1
},
name: Sequelize.STRING(15),
description: Sequelize.TEXT,
points: Sequelize.INTEGER,
image: Sequelize.STRING,
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE,
}, {
tableName: 'courses'
})
Course.belongsToMany(UserModel, { through: "CoursesUsers" });
Course.belongsToMany(CategoryModel, { through: "CategoryCourses" });
CategoryModel.belongsToMany(Course, { through: "CategoryCourses" });
module.exports = Course
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class CategoryCourse extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
CategoryCourse.init({
id: {
type: Sequelize.UUIDV4,
primaryKey: true,
defaultValue: Sequelize.UUIDV1
},
courseId: DataTypes.UUID,
categoryId: DataTypes.UUID
}, {
sequelize,
modelName: 'CategoryCourse',
});
return CategoryCourse;
};
类别模型
const Sequelize = require('sequelize')
const sequelize = require('../database/connection')
const Category = sequelize.define('Category', {
id: {
type: Sequelize.UUIDV4,
primaryKey: true,
defaultValue: Sequelize.UUIDV1
},
name: Sequelize.STRING(15),
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE,
}, {
tableName: 'categories'
})
module.exports = Category
类别课程模式
const Sequelize = require('sequelize')
const sequelize = require('../database/connection')
const UserModel = require('./User')
const CategoryModel = require('./Category')
const Course = sequelize.define('Course', {
id: {
type: Sequelize.UUIDV4,
primaryKey: true,
defaultValue: Sequelize.UUIDV1
},
name: Sequelize.STRING(15),
description: Sequelize.TEXT,
points: Sequelize.INTEGER,
image: Sequelize.STRING,
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE,
}, {
tableName: 'courses'
})
Course.belongsToMany(UserModel, { through: "CoursesUsers" });
Course.belongsToMany(CategoryModel, { through: "CategoryCourses" });
CategoryModel.belongsToMany(Course, { through: "CategoryCourses" });
module.exports = Course
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class CategoryCourse extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
CategoryCourse.init({
id: {
type: Sequelize.UUIDV4,
primaryKey: true,
defaultValue: Sequelize.UUIDV1
},
courseId: DataTypes.UUID,
categoryId: DataTypes.UUID
}, {
sequelize,
modelName: 'CategoryCourse',
});
return CategoryCourse;
};
在我的控制器中,我正在创建新课程,然后调用newCourse.setCategory(body.categories)
设置类别,但我收到了以下错误newCourse.setCategory不是一个函数看看newCourse有哪些方法。它有setCategories还是addCategories,例如?我在想这个问题,但是idk如何检查它的方法+找出它是否在那里没有帮助我知道它不在那里,但是idk为什么:/你可以在你得到新课程的那一行设置一个断点,看看新课程的内容我确实把它记录到了控制台上,它没有任何设置的方法,但我不知道为什么会这样我的模型工作得很好,但关系破裂了。显示一个创建新课程的代码