【问题标题】:Getting error when trying to post to mysql db: "Cannot read property 'create' of undefined"尝试发布到 mysql db 时出错:“无法读取未定义的属性‘创建’”
【发布时间】:2019-08-21 00:17:42
【问题描述】:

我正在尝试使用 sequelize 从 html 表单导出数据并收到以下错误:无法读取未定义的属性“创建”。我能够从表单中输出对象中的数据就好了。

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”的表中创建帖子

【问题讨论】:

    标签: node.js sequelize.js mysql2


    【解决方案1】:

    查看您的orders.js 文件。看起来你声明了这个变量

    var Orders = sequelize.define("Orders", {...
    

    你正在尝试访问db.orders

    看来您应该尝试访问 db.Orders

    我用过很多sequelize。他们的模型都以大写字母开头。您或许可以进行其他配置,但这是默认行为。

    如果您仍有问题,请尝试在db 上发送console.log,看看您会得到什么。

    console.log(db)
    

    【讨论】:

    • 就是这样 - 订单与订单。非常感谢!
    【解决方案2】:

    试试这个

    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);
    });
    });
    

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      相关资源
      最近更新 更多