Я вижу несколько смущений в вашем вопросе.
- По вашему вопросу в вашем
Students table
Я вижу, что у вас есть только столбцы examId
& subject
,так как связать таблицу Results
с таблицей Students
.
Чтобы связать таблицу Results
с таблицей Students
, ваша таблица учеников должна быть Students(id / studentId,examId,subject)
иассоциация (ссылка) results.belongsTo(students,{foreignKey:'id / studentId'})
После этого вы можете сказать только это,
results.find({
include: [{
model: models.students,
}]
});
вторая проблема, которую я вижу, вы хотите
связь (связь) между вашей
Students
таблицей и вашей
Exams
таблицей, но ваша
Exams
таблица
у вас есть только столбцы startDate
,
EndDate
,
noOfStudents
и
collage_id
.Так при чем здесь ассоциация?Как вы связываете
ученик с
экзамен .
Я думаю, что столбец noOfStudents
означает количество студентов.Если вы имеете в виду идентификатор студента.
У вас должна быть ассоциация Student.hasMany(Exam,{foreignKey:'noOfStudents'})
После этого вы сможете запросить,
results.find({
include: [{
model: models.students,
include: [{
model: models.exam,
where:{collage_id:id}
}]
}]
});
Я не уверен насчет ключевого слова as
, так как я также новичок в этом немного.насколько я знаю, вы должны использовать ключевое слово as
в своих ассоциациях, прежде чем использовать его в своем запросе, хотя я не уверен в этом.
А также попытаться отследить ваш запрос для этого (консоль)и посмотрим, что он генерирует.=)