将新创建的孩子与现有父母相关联的更有效方法? (有很多)

时间:2019-06-03 09:30:53

标签: sequelize.js

我有两个模型-ChannelMessageChannelhasManyMessage关联;邮件与belongsToChannel关联。

ChannelModel.hasMany(MessageModel);
MessageModel.belongsTo(ChannelModel);

当前,我正在创建一个新的Message(子级),然后使用Message获取现有频道(父级)的getMessages(),然后添加新的{{1} }转换为接收到的数组,然后再用Message更新Channel的子级。

如果我只能setMessages(),这可能会更有效,但是Sequelize文档指出,addMessages()关联创建了hasManyget方法,但没有提及set方法,就像add一样。

在创建新孩子时,有没有一种方法可以自动将其与现有的孩子相关联?也许在传递给belongsToMany的对象中具有includes属性? Sequelize文档似乎只有一些示例,其中所有内容都是从头开始创建的(展示了如何通过父模型(不是现有模型)创建一个新的父模型,同时在同一条语句中嵌套多个新子模型)。

1 个答案:

答案 0 :(得分:0)

基于您定义的关联,您的消息对象必须具有channel_id作为列...该字段是必填字段,因此您必须将其传递以成功创建消息记录?您为此设置了解析器和变异吗?