我有几个表,我试图在Sequelize中关联 - 一个包含用户输入的消息的 jobaids_sections_messages
表,以及一个 jobaids_sections_messages_levels
表,它是消息表使用的静态引用 . 他们就是这样设置的
this.jobaidMessage = sequelize.define('jobaids_sections_messages', {
message: Sequelize.STRING,
attuid: Sequelize.STRING,
level: Sequelize.INTEGER
}, {
paranoid: true
});
this.jobaidMessageLevel = sequelize.define('jobaids_sections_messages_levels', {
name: Sequelize.STRING
}, {
timestamps: false
});
jobaids_sections_messages_levels
表的设置如下:
| id | name |
| --- | -------- |
| 1 | Critical |
| 2 | Major |
| 3 | Warning |
| 4 | Info |
我想做的是,当我创建一条新消息时,我可以将 level
作为一个键传递给 jobaids_sections_messages_levels
表,并在检索到一条消息时,我将该级别恢复为
{
...
level: {
id: 2,
name: 'Major'
}
}
我应该如何设置我的协会?到目前为止,我有
this.jobaidMessageLevel.belongsTo(this.jobaidMessage, {
foreignKey: 'level'
});
虽然我不确定这种关联的逆转 . 它会是某种“多对一”的关系吗?
谢谢!
1 回答
您的消息只有一个级别,从技术上讲,您的级别可以包含许多消息 . 因此,只需声明您的消息
hasOne
级别将执行所需的关联 . 然后,当您下拉消息并包含级别时,它将返回 .