我想创建一个用户,但是在发送请求的时候,在控制台中显示了一个错误,即People关系不存在。
original: error: отношение "People" не существует
用户模型
const sequelize = require("../db");
const { DataTypes } = require("sequelize");
const Person = sequelize.define("Person", {
name: {
type: DataTypes.STRING
},
surname: {
type: DataTypes.STRING
},
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true
}
});
module.exports = Person;
用户控制器
const Person = require("../models/Person");
class UserController {
async createUser(req, res) {
const { name, surname } = req.body;
await Person.create({
name,
surname
});
return res.status(200).json({ ok: true, Persons: await Person.findAll() });
}
}
module.exports = new UserController();
用户路由器
const express = require("express");
const router = express.Router();
const userController = require("../controllers/user.controller");
router.post("/user", userController.createUser);
module.exports = router;
使用 post 和 person 表
也许您的 orm 系统会自动尝试猜测放置模型的表的名称, person -> people ,尝试为您的模型打印表的名称 - 类似于
person.Model.getTableName(),并且会有人。然后有必要明确指定表的名称。