【发布时间】:2016-10-24 01:29:47
【问题描述】:
我正在尝试使用 sequelize 来获取关联。
我这里有 3 个具有属性的模型:
学生 id、name、class等
student_details 学生ID,学科ID
主题 id,主题
我想获取学生的所有科目名称,我不想直接将信息存储在学生表中。有解决办法吗?
关联是:
模型/Student.js
classMethods: {
associate: (models) => {
Students.studentDetails = Students.hasOne(models.f_student_details, { foreignKey: { name: 'studentId', allowNull: false }, as: 'studentDetails' });
}
}
模型/StudentDetails.js
classMethods: {
associate: (models) => {
StudentDetails.belongsTo(models.subjects, { foreignKey: { name: 'subjectId', allowNull: true }, through: 'subjects' });
}
模型/Subjects.js
classMethods: {
associate: (models) => {
Subjects.hasOne(models.student_details, { foreignKey: { name: 'subjectId', allowNull: false }, as: 'studentSubject' });
}
方法调用:
db.students.findAll({
include: [ model: db.students]
})
现在,它只返回 studentDetails。我想通过学生对象中的学生详细信息来获取主题。只是为了澄清问题!
【问题讨论】:
标签: javascript model associations sequelize.js