You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Prisma中实现完整替换关联关系的PUT更新方法

Prisma中PUT方法全量替换关联关系的解决方案

要实现更新checkout时完全替换所有plans关联,不用手动处理disconnect,直接用Prisma提供的set操作替代原来的connect即可。set会自动清除当前所有关联,再建立传入的新关联,正好匹配PUT方法全量更新的需求。

修改后的代码如下:

this.connection.update({
  where: { id },
  data: {
    name,
    description,
    picture,
    updatedAt: new Date(),
    plans: {
      set: plans.map((id) => ({ id })), // 用set替换connect
    },
  },
  include: {
    plans: true,
  },
});

关键说明:

  • 若传入的plans数组为空,会直接清空该checkout的所有plans关联
  • 无论传入的数组是新增、减少还是完全替换原有ID,set都会确保最终关联与传入数组完全一致
  • 相比手动先disconnect再connect,set是原子操作,能避免中间状态的一致性问题

内容的提问来源于stack exchange,提问作者Fox-Carlinhos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:30:34