繁体   English   中英

Bookshelf.js:保存或更新多对多关系

[英]Bookshelf.js: Saving or Updating many-to-many relationships

Bookshelf.js中Collections的attachupdatePivot方法似乎都作用于多对多关系,但是这些方法似乎都不保存或更新(更新)多对多关系项。 运行attach我想更新记录(如果它们已存在)或保存它们(如果不存在)。 不幸的是,无论关系是否存在, attach总是添加记录,这将导致重复的条目。 如果我使用updatePivot ,它似乎可以正确更新记录,但updatePivot是它们存在。 如果我是第一次保存,并且使用updatePivot ,它将引发错误。 我想找出在Bookhelf.js中是否存在正确地增加多对多关系的方法或策略。 这是一个示例代码片段,可让您大致了解我的尝试。

qq.save().tap(q => q.choice_responses().attach(cleanQuestions[qq.id]));
qq.save().tap(q => q.choice_responses().updatePivot(cleanQuestions[qq.id]));

您可以尝试使用不带任何参数的detach() 方法先删除所有关系,然后再附加它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM