Javascript Sequelize belongTomany:TypeError:无法读取属性';hasBrand';未定义的
我有用户和品牌模型 一个用户可以拥有许多品牌 一个品牌可以属于许多用户 我为多对多关联定义了另一个模型。它命名为UserBrand 当我运行应用程序时,它显示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,有点凌乱,我认为
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' })
}