如何在Sequelize上关联两个表

编程入门 行业动态 更新时间:2024-10-10 07:29:59

如何在Sequelize上关联<a href=https://www.elefans.com/category/jswz/34/1771443.html style=两个表"/>

如何在Sequelize上关联两个表

我很怀疑。有两个表,分别称为type_agricultural_implementagricultural_implement,其中type_agricultural_implement_idagricultural_implement的内部作为type_agricultural_implement_id。这是1:N的关系。但我不知道这是否是我的正确代码。

模型-type_agricultural_implement

/* jshint indent: 2 */

module.exports = function (sequelize, DataTypes) {
  const type_agricultural_implement = sequelize.define(
    'type_agricultural_implement',
    {
      id: {
        type: DataTypes.INTEGER(5).UNSIGNED.ZEROFILL,
        allowNull: false,
        primaryKey: true,
        autoIncrement: true,
      },
      description: {
        type: DataTypes.STRING(90),
        allowNull: false,
      },
    },
    {
      tableName: 'type_agricultural_implement',
    }
  );
  type_agricultural_implement.associate = (models) => {
    type_agricultural_implement.hasMany(models.agricultural_implement, {
      foreignKey: 'type_agricultural_machine_id',
    })
  }
};

模型-农业实施


/* jshint indent: 2 */

module.exports = function (sequelize, DataTypes) {
  const agricultural_implement = sequelize.define('agricultural_implement', {
    agricultural_implement_id: {
      type: DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true,
      references: {
        model: 'agricultural_machine',
        key: 'agricultural_machine_id'
      }
    },
    type_agricultural_machine_id: {
      type: DataTypes.INTEGER(5).UNSIGNED.ZEROFILL,
      allowNull: false,
      references: {
        model: 'type_agricultural_machine',
        key: 'id',
      },
    },
  }, {
    tableName: 'agricultural_implement'
  });

  agricultural_implement.associate = (models) => {
    agricultural_implement.belongsTo(models.type_agricultural_machine, { foreignKey: 'type_agricultural_machine_id' });
  };

  return agricultural_implement;
};

我的代码是否严格?

回答如下:

我解决了这个问题,在我的模型agricultural_implement处有

type_agricultural_machine_id: {
      type: DataTypes.INTEGER(5).UNSIGNED.ZEROFILL,
      allowNull: false,
      references: {
        model: 'type_agricultural_machine',
        key: 'id',
      },
    },
  }, {
    tableName: 'agricultural_implement'
  });

  agricultural_implement.associate = (models) => {
    agricultural_implement.belongsTo(models.type_agricultural_machine, { foreignKey: 'type_agricultural_machine_id' });
  };

我在有type_agricultural_machine_id的地方输入了错误的名称,将是type_agricultural_implement_idreferences相同,并且也有关联。

更多推荐

如何在Sequelize上关联两个表

本文发布于:2024-05-07 14:21:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756657.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两个   如何在   Sequelize

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!