【发布时间】:2020-04-19 09:11:21
【问题描述】:
我正在尝试使用 Sequelize 在 Node Js(express Js) 中处理 mysql 关系。
User.hasMany(Post); 工作得很好,但是当我尝试在 Post 模型中反转它时:Post.belongsTo(User);
收到此错误: throw new Error(${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;
和 Post 模型一样:
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;
我该如何解决这个问题? 谢谢大家...
【问题讨论】:
标签: mysql node.js express sequelize.js