Я пытаюсь работать с mysql отношениями в Node Js (express Js), используя Sequelize.
User.hasMany(Post);
работает просто отлично, но когда я пытаюсь инвертировать его в Посте модель, подобная: Post.belongsTo(User);
получила эту ошибку: выбросить новую ошибку ($ {source.name}. $ {_. lowerFirst (Type.name)}, вызванную с чем-то, что не является подкласс Sequelize.Model);
Ошибка: post.belongsTo вызван с чем-то, что не является подклассом Sequelize.Model
Модель пользователя, такая как:
const Sequelize = require('sequelize');
const db = require('../config/db');
const Post = require('./Post');
const User = db.define('user', {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
notNull: true,
primaryKey: true
},
name: {
type: Sequelize.STRING,
notNull: true
},
email: {
type: Sequelize.STRING,
notNull: true
},
password: {
type: Sequelize.STRING,
notNull: true
}
});
User.hasMany(Post);
module.exports = User;
И пост модель, как:
const Sequelize = require('sequelize');
const db = require('../config/db');
const User = require('./User');
const Post = db.define('post', {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
notNull: true,
primaryKey: true
},
title: {
type: Sequelize.STRING,
notNull: true
},
description: {
type: Sequelize.TEXT,
notNull: true
},
author: {
type: Sequelize.STRING,
notNull: true
}
});
Post.belongsTo(User);
module.exports = Post;
Как я могу решить эту проблему? Спасибо всем ...