【问题标题】:Bookshelf.js: Saving or Updating many-to-many relationshipsBookshelf.js:保存或更新多对多关系
【发布时间】:2018-07-22 05:42:28
【问题描述】:

Bookshelf.js 中 Collections 的 attachupdatePivot 方法似乎都作用于多对多关系,但它们似乎都不能保存或更新(更新插入)多对多关系项。运行attach 时,如果记录已经存在,我想更新它们,如果不存在,则保存它们。不幸的是,attach 总是添加记录,无论关系是否已经存在,这会导致重复条目。如果我使用updatePivot,它似乎可以正确更新记录,但前提是它们存在。如果我是第一次保存并使用updatePivot,则会引发错误。我想知道是否存在正确插入 Bookshelf.js 中的多对多关系的方法或策略。这是一个示例代码 sn-p 让您了解我的尝试。

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

【问题讨论】:

    标签: javascript node.js postgresql orm bookshelf.js


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-04-27
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      相关资源
      最近更新 更多