Я использую Sequelize для своей внутренней интеграции. Большинство из них идет хорошо, но у меня возникают проблемы с пониманием моих ассоциаций.
Всякий раз, когда я создаю модель, я помещаю ее в отдельный файл, здесь я не определяю свои ассоциации. Я не использовал много маршрутов со своими ассоциациями. Но когда мне пришлось использовать его, я просто поместил свою ассоциацию в начало файла маршрута.
Теперь у меня проблемы с ассоциациями, и я хочу знать, как это сделать лучше. Я могу включить моего ученика, когда я хочу получить все свои группы Classgroup.findAll({include: [{model: Student}]})
. Здесь я получаю то, что хочу. Но когда я хочу сделать Student.findAll({include: [{model: Classgroup}]})
, я получаю ошибку: Студент не связан с Classgroup. Попытка добавить ассоциации в оба модельных класса также не работает.
Я попытался создать файл для размещения всех моих отношений и установить его в соответствии с требованиями в моих маршрутах, но все пошло не так, как я хотел.
Теперь мой вопрос: какова лучшая практика работы с ассоциациями в Sequelize. Потому что я нашел много разных практик, и большинство из них были с 2-3 моделями. У меня около 10 моделей со всеми своими отношениями.
Вот так выглядят мои модели:
const Sequelize = require('sequelize');
var connection = require("../db");
var Classgroup = require('./Classgroup');
var Account = require('./Account');
var Employer = require('./Employer');
const Student = connection.define('Student', {
studentID: {
type: Sequelize.UUID,
primaryKey: true,
autoIncrement: true
},
studentFirstName: Sequelize.STRING,
studentLastName: Sequelize.STRING,
birthDate: Sequelize.DATE,
sex: Sequelize.ENUM('M', 'F'),
classNumber: Sequelize.INTEGER,
education: Sequelize.STRING
//student has a classgroup
//Student has an account
});
module.exports = Student;
Это все очень ново для меня, извините, если я забыл что-то глупое