【发布时间】:2021-07-19 15:44:45
【问题描述】:
我在 Nodejs 和 Sequelize 中描述了两个模型。我正在尝试在两个表'Creator' 和'UserLogin' 之间创建关联hasOne。当我提到关联时,它会抛出错误Creator.hasOne called with something that's not a subclass of Sequelize.Model。
我已经在下面发布了这两个表和关联代码。非常感谢任何帮助。我是 Sequelize 的新手。
//Creator Model
'use strict';
module.exports = function(sequelize, DataTypes) {
var Creator = sequelize.define(
'Creator',
{
firstname: { type: DataTypes.STRING },
lastname: { type: DataTypes.STRING },
},
{
createdAt: 'created_at',
updatedAt: 'updated_at',
deletedAt: 'deleted_at',
paranoid: true,
underscored: true,
tableName: 'creator',
},
);
return Creator;
};
//UserLogin Model
'use strict';
module.exports = function(sequelize, DataTypes) {
var UserLogin = sequelize.define(
'UserLogin',
{
creator_id: {type:DataTypes.INTEGER},
username: { type: DataTypes.STRING },
password: {type:DataTypes.STRING},
creatorfile: {type:DataTypes.STRING}
},
{
createdAt: 'created_at',
updatedAt: 'updated_at',
deletedAt: 'deleted_at',
paranoid: true,
underscored: true,
tableName: 'UserLogin',
},
);
return UserLogin;
};
//Association Defining
global.db.Creator.hasOne(global.db.UserLogin, {
onDelete: 'cascade',
foreignKey: 'creator_id',
});
P.S:'Creator' 表和其他正在工作的表之间存在 hasMany 关联。我定义hasMany 关联的方式与我尝试做hasOne 的方式相同。我不确定为什么hasOne 会抛出上述错误。
【问题讨论】:
标签: node.js express sequelize.js