首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sequelize导出函数

Sequelize导出函数
EN

Stack Overflow用户
提问于 2021-05-13 12:14:05
回答 1查看 49关注 0票数 0

我已经定义了这个模型:

代码语言:javascript
复制
const Sequelize = require('sequelize');
const db = require("../database/db")
var Reparacion = db.sequelize.define('reparaciones', {
    id: {
      type: Sequelize.INTEGER,
      allowNull: false,
      autoIncrement: true,
      primaryKey: true,
    },
    descripcion: {
      type: Sequelize.STRING(255),
      allowNull: true
    },
    fecha_inicio: {
      type: Sequelize.DATEONLY,
      allowNull: true
    },
    fecha_fin: {
      type: Sequelize.DATEONLY,
      allowNull: true
    },
  },{});
module.exports=Reparacion

在其他模型中,当我在其他模型中定义foreing键时,方法HasMany和belongsTo无法工作,因为我在函数上调用了它们:

代码语言:javascript
复制
  const Reparacion = require("./reparacion")
  console.log(typeof(Vehiculo))
  console.log(typeof(Reparacion))
  Vehiculo.hasMany(Reparacion,{foreingKey:"vehiculoId", onDelete: 'cascade', sourceKey:"matricula"})
  Reparacion.belongsTo(Vehiculo)

两个控制台日志返回:“函数”

为了正确定义关联,我必须改变什么??

编辑

这是"Vehiculo“模式:

代码语言:javascript
复制
const Sequelize = require('sequelize');
const db = require("../database/db")
var Vehiculo = db.sequelize.define('vehiculos', {
    id: {
      type: Sequelize.INTEGER,
      autoIncrement: true,
      primaryKey: true,
      allowNull: true
    },
    matricula: {
      type: Sequelize.STRING(45),
      allowNull: false,
      primaryKey: true,
    },
    marca: {
      type: Sequelize.STRING(50),
      allowNull: true
    },
    modelo: {
      type: Sequelize.STRING(50),
      allowNull: true
    },
    
    anio: {
      type: Sequelize.INTEGER,
      allowNull: true
    },
    color: {
      type: Sequelize.STRING(20),
      allowNull: true
    },
    puertas: {
      type: Sequelize.INTEGER,
      allowNull: true
    },
    motor: {
      type: Sequelize.STRING(20),
      allowNull: true
    },
  },{});
  const Reparacion = require("./reparacion")
  Vehiculo.hasMany(Reparacion,{foreingKey:"vehiculoMatricula", onDelete: 'cascade', sourceKey:"matricula"})
  Reparacion.belongsTo(Vehiculo)
  module.exports=Vehiculo
EN

回答 1

Stack Overflow用户

发布于 2021-05-13 12:20:34

那么,预计typeof Vehiculotypeof Reparacion将返回一个function,因为每个构造函数或类都是JS中的函数,所以当您为实体创建模型时,它返回一个函数/构造函数,该函数/构造函数可以为您创建一个实体的实例。所以这是没有问题的。

实际上,文档显示了类似的代码https://sequelize.org/master/manual/assocs.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67519060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档