【发布时间】:2021-04-25 13:21:11
【问题描述】:
如何访问 hasOne 关系,它返回 undefined。我遵循文档。我想,已经对了。很难找到逐步讨论关系的教程。我看到文档在模型中使用 get。比如getTag。
应用程序
const media = await Media.findOne();
console.log(media.Tag);
媒体模型
const Tag = require('./tag');
Media.init({
id: {
type: DataTypes.BIGINT.UNSIGNED,
allowNull: false,
autoIncrement: true,
primaryKey: true,
unique: true
},
type_id: {
type: DataTypes.TINYINT.UNSIGNED,
allowNull: false,
references: {
model: 'types',
key: 'id'
}
}, {
sequelize,
modelName: 'Media',
tableName: 'media',
engine: 'MYISAM',
charset: 'utf8mb4',
collate: 'utf8mb4_unicode_ci',
timestamps: false
});
Media.hasOne(Tag, {
as: 'Tag',
foreignKey: 'type_id'
});
标签模型
Tag.init({
id: {
type: DataTypes.MEDIUMINT.UNSIGNED,
allowNull: false,
autoIncrement: true,
primaryKey: true,
unique: true
},
name: {
type: DataTypes.STRING,
allowNull: false
}
}, {
sequelize,
modelName: 'Tag',
tableName: 'tags',
engine: 'MYISAM',
charset: 'utf8mb4',
collate: 'utf8mb4_unicode_ci',
timestamps: false
});
【问题讨论】:
-
doc 通过包含在 findall/one 中。你必须包括你的关系模型
标签: sequelize.js