Последовательность, используя ассоциации с модельными классами - PullRequest
0 голосов
/ 18 ноября 2018

Я использую 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;

Это все очень ново для меня, извините, если я забыл что-то глупое

...