我正在尝试使用sequelize从html表单导出数据,并收到以下错误:无法读取未定义的属性“ create”。我可以从表单中的对象中输出数据。
routes.js
var db = require("../models");
module.exports = function(app) {
app.post("/api/orders", function(req,res) {
console.log(req.body);
db.orders.create({
date: req.body.date,
billingAddress: req.body.billingAddress,
city: req.body.city,
state: req.body.state,
email: req.body.email,
cupcakeType: req.body.cupcakeType,
quantity: req.body.quantity,
specialInstructions: req.body.specialInstructions,
totalPrice: req.body.totalPrice,
card: req.body.card,
cardNumber: req.body.cardNumber,
cvc: req.body.cvc,
CustomerID: req.body.CustomerID
})
.then(function(dbOrders){
console.log(dbOrders);
res.json(dbOrders);
});
});
orders.js
module.exports = function(sequelize, DataTypes) {
var Orders = sequelize.define("Orders", {
date: {
type: DataTypes.DATEONLY,
allowNull: false
},
billingAddress: {
type: DataTypes.STRING,
allowNull: false,
},
city: {
type: DataTypes.STRING,
allowNull: false,
},
state: {
type: DataTypes.STRING,
allowNull: false,
},
email: {
type: DataTypes.STRING,
allowNull: false,
// validate: {
// isEmail: true
// }
},
期望创建名为“ cupcakes”的数据库和名为“ orders”的表的帖子
答案 0 :(得分:0)
看看您的orders.js
文件。好像您声明了此变量
var Orders = sequelize.define("Orders", {...
您正在尝试访问db.orders
看起来您应该尝试访问db.Orders
。
我经常使用续集。他们的模型都以大写字母开头。您也许可以进行其他配置,但这是默认行为。
如果仍然遇到问题,请尝试在console.log
上进行db
,然后看看会得到什么。
console.log(db)
答案 1 :(得分:0)
只需尝试
add_roles()