【发布时间】:2020-05-13 21:10:12
【问题描述】:
我很怀疑。有两个表称为type_agricultural_implement 和agricultural_implement,其中type_agricultural_implement_id 在agricultural_implement 内部,即type_agricultural_implement_id。这是1:N的关系。但我不知道我的代码是否正确。
模型 - type_agriculture_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;
};
我的代码正确吗?
【问题讨论】:
-
除了这个
type_agricultural_machine,一切看起来都很好。不应该是type_agricultural_implement吗? -
这个名字
implement可以是任何与农业相关的东西,比如拖拉机等等 -
我在说这个
agricultural_implement.belongsTo(models.type_agricultural_machine, { foreignKey: 'type_agricultural_machine_id' });你在这里与错误的模型进行关联。 -
我解决了这个问题,在模型
agricultural_implement我把错误的名称与引用和关联。哈哈哈
标签: mysql node.js express sequelize.js