创建帖子并尝试将其与当前用户关联时出现错误:
SequelizeDatabaseError: Field 'userId' doesn't have a default value
这是我的方法
exports.createPost = async (req, res) => {
const {title, content, userEmail} = req.body;
const user = await User.findOne({
where: {
email: userEmail
}
})
if (user) {
const post = await Post.create({
title, content, image: req.file.originalname, userId: user.id
})
res.json(post)
}
}
也尝试过user: user
。>>
这是我的用户模型
'use strict'; module.exports = (sequelize, DataTypes) => { const User = sequelize.define('User', { username: DataTypes.STRING, email: DataTypes.STRING, password: DataTypes.STRING }, {}); User.associate = function(models) { User.hasMany(models.Post) }; return User; };
这是发布模型,其中声明了belongsTo关系
'use strict';
module.exports = (sequelize, DataTypes) => {
const Post = sequelize.define('Post', {
title: DataTypes.STRING,
content: DataTypes.STRING,
image: DataTypes.STRING
}, {});
Post.associate = function(models) {
Post.belongsTo(models.User, {
onDelete: 'CASCADE'
})
};
return Post;
};
我在创建帖子并将其与当前用户关联时出错:SequelizeDatabaseError:字段'userId'没有默认值,这是我的方法exports.createPost = async(...