我正在尝试联系许多对许多,在两个模式“培训和培训课程”,所以我做了第三个模式“课程”,以尝试关系1对许多。但是我得到了一个错误:
null
TypeError:无法读取对象上未定义得属性“belongsto”。(c:UsersDellDownloadsGraphql-12.18.2020Graphql-12.18.2020Graphql-12.18.2020ServerAppDatabaseDatabase.js:54:14)位于Module._compile(internal/modules/cjs/loader.js:106330)位于Object.module._extensions.js(internal/modules/cjs/loader.js:1092:10)位于Module.load(internal/modules/cjs/loader.js:928:32)位于Module.require((c:UsersDellDownloadsGraphql-12.18.2020Graphql-12.18.2020Graphql-12.18.2020ServerAppGraphqlResolversUser.js:6:12),位于object.module._extensions..js(internal/modules/cjs/loader.js:1092:10)的module._compile(internal/modules/cjs/loader.js:1063:30)
DB代码:
const Sequelize = require('sequelize');
const db = {};
const sequelize = new Sequelize("firstDB"," "," ", {
//from the DB amazom
host: ' ',
dialect: 'mysql',
define: {
timestamps: false,
freezeTableName: true
},
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
});
db.sequelize = sequelize
db.Sequelize = Sequelize
db.Sequelize = sequelize
db.Sequelize = sequelize
db.Sequelize = sequelize
db.Sequelize = sequelize
db.Sequelize = sequelize
db.tblUser = require("./models/user")(sequelize, Sequelize);
db.vewStudentCourseTrainer = require("./models/studentCourseTrainer")(sequelize, Sequelize);
db.tblTrainer = require("./models/trainer")(sequelize, Sequelize);
db.tblCourse = require("./models/course")(sequelize,Sequelize);
db.tblStudent = require("./models/student")(sequelize,Sequelize);
db.tblCourseTrainer = require("./models/courseTrainer")(sequelize, Sequelize);
db.tblStudentCourse = require("./models/studentCourse")(sequelize, Sequelize);
db.tblCourseTrainer.hasMany(db.tblTrainer, { as: "trainer" });
db.trainer.belongsTo(db.tblCourseTrainer, {
foreignKey: "intTrainerID",
as: "trainerID",
});
module.exports = db
CourseTrainer的模型代码
module.exports = (sequelize,DataTypes)=>{
const CourseTrainer = sequelize.define("tblCourseTrainer",{
intCourseTrainerID: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
intCourseID: {
type: DataTypes.INTEGER,
foreignKey: true,
},
intTrainerID: {
type: DataTypes.INTEGER,
foreignKey: true,
},
},)
return CourseTrainer
}
教练机型号代码
module.exports = (sequelize,DataTypes)=>{
const Trainer = sequelize.define("tblTrainer",{
intTrainerID: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
strTrainerName: {
type: DataTypes.STRING
},
},)
return Trainer
}
课程的模型代码
module.exports = (sequelize,DataTypes)=>{
const Course = sequelize.define("tblCourse",{
intCourseID: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
strCourseName: {
type: DataTypes.STRING
},
},)
return Course
}
当你把这个叫做:
db.trainer.belongsTo(...)
在
我们可以在这里看到您声明
const db = {};
然后,沿着代码向下到您尝试执行
db.tblTrainer = require("./models/trainer")(sequelize, Sequelize);
所以,也许你想用这个?
db.tblTrainer.belongsTo(...)