我有几个表,我试图在Sequelize中关联 - 一个包含用户输入的消息的testing
表,以及一个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'
}
}
虽然我不确定这种关联的逆转。它是一个多对一的"某种关系?
谢谢!
答案 0 :(得分:1)
您的消息只有一个级别,从技术上讲,您的级别可以包含许多消息。因此,只需声明您的消息[HttpPost]
public ActionResult Index(IndexVm model)
{
var selected = model.EmployeeSelections.Where(a=>a.IsSelected).ToList();
// If you want Id's select that
var ids = selected.Select(g => g.Id);
// to do : return something
}
级别将执行所需的关联。然后,当您下拉消息并包含级别时,它将返回。
hasOne