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

如何在实际后端中转换请求体实现Prisma批量关联插入操作

Prisma请求体转关联插入参数实现方案

直接对请求体的categories数组做遍历转换即可,核心是补全assignedAt服务端时间、把关联分类改成connect结构,适配Prisma的嵌套写入语法。

完整实现代码

// 以Express框架为例,先获取请求体
const reqBody = req.body;

// 转换为Prisma要求的data格式
const createPostData = {
  title: reqBody.title,
  categories: {
    create: reqBody.categories.map(cateItem => ({
      // 注意和你Prisma Schema定义的字段名对齐,示例里是小驼峰assignedBy
      assignedBy: cateItem.assignedby,
      // 时间直接在服务端生成,不要信任前端传入的时间参数
      assignedAt: new Date(),
      category: {
        connect: {
          id: cateItem.category.id
        }
      }
    }))
  }
}

// 调用Prisma插入方法
const createdPost = await prisma.post.create({
  data: createPostData
})

注意事项

  • 如果你的Prisma Schema中中间表的赋值人字段就是全小写assignedby,不需要做字段名转换,直接用assignedby: cateItem.assignedby即可
  • 生产环境建议提前校验传入的分类ID是否真实存在,避免Prisma抛出关联不存在的报错
  • 可根据业务需求加参数校验,比如限制categories数组长度、校验title是否为空等

内容的提问来源于stack exchange,提问作者Binit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:45:04