gpt4 book ai didi

javascript - 没有看到播种数据库后所需的 Sequelize 模型属性

转载 作者:行者123 更新时间:2023-12-03 22:19:09 25 4
gpt4 key购买 nike

更新
下面有人建议为喊叫添加模型 ID,我不再收到错误消息,但现在没有任何内容保存到我的数据库中?
添加以下新信息:
我在用户和呼喊之间有一对多的关系。两种模型都有电子邮件属性,
我正在尝试使用一种神奇的方法来设置喊叫。当我使用 user.createShoutout()
我可以生成喊叫,但电子邮件属性没有显示在数据库中。

const Sequelize = require('sequelize')
const db = require('../db')

const Shoutout = db.define('shoutout', {
//NEW
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
}, //OLD
name: {
type: Sequelize.STRING,
validate: {
notEmpty: true
},
email: {
type: Sequelize.STRING,
unique: true,
allowNull: false
}
},
message: {
type: Sequelize.TEXT,
allowNull: false
},
from: {
type: Sequelize.STRING
}
})

module.exports = Shoutout
协会:
User.hasMany(Shoutouts)
Shoutouts.belongsTo(User)

User.hasMany(Emails)
Emails.belongsTo(User)
当我使用 user.AddShoutout()
如下:
   let paramsObj = {     
name: addEmail.firstName,
email:addEmail.email,
message: 'test msg',
userId: 3
}
//NEW
let id = 1;
const addInfo = await userThree.addShoutout(id,paramsObj)
//新的
不再收到对象错误,实际上没有看到任何错误。但是当我查看我的喊叫表时,没有添加任何内容。
当我 console.log addInfo
尝试创建喊叫的用户会返回吗?
我需要帮助尝试使用此用户模型魔术方法来生成新的喊叫!
感谢您阅读本文,以及任何建议!

最佳答案

您的电子邮件字段嵌套在名称字段中

const Sequelize = require('sequelize')
const db = require('../db')

const Shoutout = db.define('shoutout', {

id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
}, //OLD
name: {
type: Sequelize.STRING,
validate: {
notEmpty: true
},
email: { # <----------------------------- nested too deep
type: Sequelize.STRING,
unique: true,
allowNull: false
}
},
message: {
type: Sequelize.TEXT,
allowNull: false
},
from: {
type: Sequelize.STRING
}
})

module.exports = Shoutout

关于javascript - 没有看到播种数据库后所需的 Sequelize 模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64916966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com