Как мне установить sh связь "один ко многим" между двумя моделями в продолжении? - PullRequest
0 голосов
/ 26 мая 2020

Я сделал две модели продолжения: одну для хранения учеников, а другую - для хранения их задач. Я хочу установить sh связь «один ко многим» между студентом и моделью задачи ...

Модель задачи

const Student= require('./student.js')
module.exports = (sequelize, Sequelize) => {
  const Task = sequelize.define("task", {
    title: {
      type: Sequelize.STRING
    },
    description: {
      type: Sequelize.STRING
    }
  });

  Task.associate = (Student) => {
     Task.belongsTo(Student) 
  };
  return Task;
};

Модель ученика

const Task = require('./task.js')

module.exports = (sequelize, Sequelize) => {

    const Student = sequelize.define("student", {
      name: {
        type: Sequelize.STRING,
        allowNull:false
      },
      email: {
        type: Sequelize.STRING,
        unique:true,
        allowNull:false
      },
      branch: {
        type: Sequelize.STRING,
        allowNull:false
      },
      id: {
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true
        },
    });

    Student.associate = (Task) =>{
        Student.hasMany(Tasks, {as: "tasks"))
    }
    return Student;
  };

Я хочу получить задачи каждого ученика вместе с данными ученика. Ниже приведена функция для одного и того же

// Извлечь всех учеников из базы данных.

const Task= require('../models/task.js')

exports.findAll = (req, res) => {

    Student.findAll({
      include: Task
    })
    .then(data => {
      res.send(data);
    })
    .catch(err => {
      res.status(500).send({
        message:
          err.message || "Some error occurred while retrieving students."
      });
    });
};


Но когда я нажму запрос, я получаю следующую ошибку.

{
    "message": "task is not associated to student!"
}

Я застрял в этой проблеме в течение 2 дней ... пожалуйста, помогите мне разобраться. Заранее спасибо

...