Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize belongTomany:TypeError:无法读取属性';hasBrand';未定义的_Javascript_Node.js_Postgresql_Associations_Sequelize.js - Fatal编程技术网

Javascript Sequelize belongTomany:TypeError:无法读取属性';hasBrand';未定义的

Javascript Sequelize belongTomany:TypeError:无法读取属性';hasBrand';未定义的,javascript,node.js,postgresql,associations,sequelize.js,Javascript,Node.js,Postgresql,Associations,Sequelize.js,我有用户和品牌模型 一个用户可以拥有许多品牌 一个品牌可以属于许多用户 我为多对多关联定义了另一个模型。它命名为UserBrand 当我运行应用程序时,它显示TypeError:无法读取未定义的属性“hasBrand”。我找不到hasBrand和联想之间的任何关系,但去掉hasBrand它就行了 如果我仍然想保留hasBrand字段,我如何修复它?hasBrand只是用户模型的一个字段我添加了完整的代码片段:(添加运行代码,凌乱:?使用Run snippet buttonYep,有点凌乱,我认为

我有用户和品牌模型

一个用户可以拥有许多品牌

一个品牌可以属于许多用户

我为多对多关联定义了另一个模型。它命名为UserBrand

当我运行应用程序时,它显示
TypeError:无法读取未定义的属性“hasBrand”
。我找不到hasBrand和联想之间的任何关系,但去掉hasBrand它就行了


如果我仍然想保留hasBrand字段,我如何修复它?

hasBrand只是用户模型的一个字段我添加了完整的代码片段:(添加运行代码,凌乱:?使用Run snippet buttonYep,有点凌乱,我认为根本原因是模型定义。hasBrand只是用户模型的一个字段我添加了完整的代码片段:(添加运行代码,凌乱:?使用RunSnippetButtonyep,有点凌乱,我认为根本原因是模型定义。
    // user.js
    const User = sequelize.define('User', {
        id: {
            type: DataTypes.UUID,
            defaultValue: DataTypes.UUIDV4,
            primaryKey: true,
        },
        hasBrand: {
            type: DataTypes.BOOLEAN,
            defaultValue: false,
        },
    })

    User.associate = models=> {
        User.belongsToMany(models.Brand, {
            through: models.UserBrand,
            foreignKey: 'user',
        })
    }

    // brand.js
    Brand.belongsToMany(models.User, {
        through: models.UserBrand,
        foreignKey: 'brand',
    })

    // userBrand.js
    const UserBrand = sequelize.define('UserBrand', {
        status: {
            type: DataTypes.INTEGER,
            allowNull: false,
        },
        title: {
            type: DataTypes.STRING,
            defaultValue: '',
        },
    })

    UserBrand.associate = models=> {
        UserBrand.belongsTo(models.User, { foreignKey: 'user', targetKey: 'id' })
        UserBrand.belongsTo(models.Brand, { foreignKey: 'brand', targetKey: 'id' })
    }