'hasOne' association thorwing error [Nodejs, Sequelize]

'hasOne' association thorwing error [Nodejs, Sequelize]

我在 Nodejs 和 Sequelize 中描述了两个模型。我正在尝试在两个 table 'Creator''UserLogin' 之间创建关联 hasOne。当我提到关联时,它会抛出错误 Creator.hasOne called with something that's not a subclass of Sequelize.Model。 我已经在下面发布了两个 table 和关联代码。非常感谢任何帮助。我是 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' table 和其他 table 之间存在 hasMany 关联,并且有效。我定义 hasMany 关联的方式与我尝试做的方式相同 hasOne。我不确定为什么 hasOne 会抛出上述错误。

我犯了一个愚蠢的错误。我提到所有模型的 global.db UserLogin 模型的关键是 Login 这就是它抛出错误的原因。我试图与 global.db.UserLogin 建立联系。相反,它将是 global.db.Login

global.db = {
        Sequelize: Sequelize,
        sequelize: sequelize,
        Creator: require(__dirname + '/creator')(sequelize, Sequelize.DataTypes),
        Install: require(__dirname + '/install')(sequelize, Sequelize.DataTypes),
        Applications: require(__dirname+'/application')(sequelize, Sequelize.DataTypes),
        Login: require(__dirname+'/userlogin')(sequelize,Sequelize.DataTypes)
        /*
        *
        * TODO add any additional models here.
        *
        */
    };

//Association Defining
global.db.Creator.hasOne(global.db.Login, {
    onDelete: 'cascade',
    foreignKey: 'creator_id',
});