我有两个模型-Channel
和Message
。 Channel
与hasMany
有Message
关联;邮件与belongsTo
有Channel
关联。
ChannelModel.hasMany(MessageModel);
MessageModel.belongsTo(ChannelModel);
当前,我正在创建一个新的Message
(子级),然后使用Message
获取现有频道(父级)的getMessages()
,然后添加新的{{1} }转换为接收到的数组,然后再用Message
更新Channel
的子级。
如果我只能setMessages()
,这可能会更有效,但是Sequelize文档指出,addMessages()
关联创建了hasMany
和get
方法,但没有提及set
方法,就像add
一样。
在创建新孩子时,有没有一种方法可以自动将其与现有的孩子相关联?也许在传递给belongsToMany
的对象中具有includes
属性? Sequelize文档似乎只有一些示例,其中所有内容都是从头开始创建的(展示了如何通过父模型(不是现有模型)创建一个新的父模型,同时在同一条语句中嵌套多个新子模型)。
答案 0 :(得分:0)
基于您定义的关联,您的消息对象必须具有channel_id作为列...该字段是必填字段,因此您必须将其传递以成功创建消息记录?您为此设置了解析器和变异吗?