Monday, 1 May 2017

Model not associated with Model Sequelize

I'm trying to esatblish a One-To-Many relationship between the tables: Exam and Exam_Questions, using Sequelize.

Even though the tables are created properly and I can see them in PhpMyAdmin, I keep getting the following error in console:

Error: exam_question is not associated to exam!

exam.js

...
const ExamQuestion = require('./exam-question');
...

const Exam = sequelizeInstance.define("exam", {
    name: { type: Sequelize.STRING },
    date: { type: Sequelize.DATE }
});

// Build the model relations
Exam.hasMany(ExamQuestion, { as: "Questions" });

exam-question.js

const ExamQuestion = Sequelize.db.define("exam_question", {
    correct_answer: {
        type: Sequelize.STRING
    },
    text: {
        type: Sequelize.STRING
    }
});
module.exports = ExamQuestion;

To solve the error, I tried:

ExamQuestion.belongsTo(Exam);

But that doesn't change anything.

The query is:

Exam.findAll({
     include: [ExamQuestion]
})

How to fix this problem and get the Exam objects including their questions?



via Emanuela colta

No comments:

Post a Comment