【发布时间】:2023-01-19 01:10:01
【问题描述】:
我做了很多表,想在它们之间建立关系。当我调用 sequelize(orm) 的内置函数,即 .hasMany 时,它给了我错误
无法读取 .hasMany 的未定义属性
文件公司模型.js
const sequelize = require("sequelize"); const companyDb = require("../../config/database"); const company1 = companyDb.define("company", { id: { type: sequelize.INTEGER, autoIncrement: true, primaryKey: true, }, name: { type: sequelize.STRING, allowNull: false, }, address: { type: sequelize.STRING, allowNull: false, }, contact: { type: sequelize.STRING, }, primay_email: { type: sequelize.STRING, allowNull: false, }, website: { type: sequelize.STRING, }, deleted_at: { type: sequelize.DATE, }, is_deleted: { type: sequelize.BOOLEAN, defaultValue: false, }, logo_url: { type: sequelize.STRING, }, country: { type: sequelize.STRING, allowNull: false, }, }); module.exports = company1;我在下面建立关系:
文件关系.js
const user = require("./usermodal"); const customerCompany = require("./customerCompanyModel"); const customer = require("./customerModel"); const invoiceItems = require("./invoiceItemsModel"); const outlet = require("./outletModel"); const outletStock = require("./outletStockModel"); const product = require("./productModel"); const role = require("./roleModel"); const invoice = require("./invoicesModel"); const { use } = require("../../routes"); const {company} = require("./companyModel"); const relationshipt = company.hasMany(user); user.belongsTo(company); role.hasOne(user); user.belongsTo(role); company.hasMany(product); product.belongsTo(company); company.hasMany(outlet); outlet.belongsTo(company); company.hasMany(customerCompany); customerCompany.belongsTo(company); outlet.hasMany(user); user.belongsTo(outlet); outlet.hasMany(customerCompany); customerCompany.belongsTo(outlet); outlet.hasMany(invoice); invoice.belongsTo(outlet); outlet.hasMany(outletStock); outletStock.belongsTo(outlet); product.hasMany(outletStock); outletStock.belongsTo(product); product.hasOne(invoiceItems); invoiceItems.belongsTo(product); customer.hasMany(customerCompany); customerCompany.belongsTo(customer); customer.hasMany(invoice); invoice.belongsTo(customer); invoice.hasMany(invoiceItems); invoiceItems.belongsTo(invoice) module.exports = relations;但它给了我这个错误:
我该如何解决这个问题?
【问题讨论】:
-
所以
company是未定义的。company从模型中导出到哪里?你可能想要const company = require("./companyModel"); -
你能分享一下如何在 typescript sequelize 中建立关系的例子吗? @epascarello
-
请查阅Why not upload images of code/errors when asking a question?(例如。,“图像应该只用于说明问题 不能用任何其他方式说清楚, 例如提供用户界面的屏幕截图。”) 和do the right thing。提前致谢。
标签: javascript node.js typescript sequelize.js