【问题标题】:how to create a flexible number of posts using prisma如何使用 prisma 创建灵活数量的帖子
【发布时间】:2022-01-02 12:51:52
【问题描述】:

这可能是不可能的,但有办法在 prisma 中创建灵活数量的帖子。例如,我有一个用户,我希望他们创建能够一次创建任意数量的帖子,所以它可以是一个帖子或三个帖子。这可以使用 Prisma 吗?

这是我正在使用的查询:

const user = await prisma.user.update({
  where: {
    id: 9,
  },
  data: {
    posts: {
// This is where I would like to make the amount of posts being created on the frontend flexible
      createMany: {
        data: [{ title: 'My first post' }, { title: 'My second post' }],
      },
    },
  },
})

【问题讨论】:

    标签: prisma


    【解决方案1】:

    这里有一个例子:

    const { PrismaClient } = require('@prisma/client')
    const prisma = new PrismaClient()
    
    const saveData = async () => {
      const user = await prisma.user.create({
        data: {
          name: 'John Doe',
          posts: {
            createMany: {
              data: [
                {
                  title: 'First Post',
                },
              ],
            }
          }
        },
        include: {
          posts: true
        }
      })
    
      console.log(JSON.stringify(user, null, 2));
    
      await prisma.user.update({
        where: {
          id: user.id
        },
        data: {
          posts: {
            createMany: {
              data: [
                {
                  title: 'Second Post',
                },
                {
                  title: 'Third Post',
                }
              ],
            }
          }
        }
      })
    
      console.log(JSON.stringify(await prisma.user.findMany({ include: {posts: true} }), null, 2));
    }
    
    saveData()
    

    结果出来了

    【讨论】:

    • 谢谢 luisbar,你能给我解释一下这里发生了什么吗?从我可以看到 SaveData 函数正在创建一个帖子,然后你更新用户并添加第二个和第三个帖子。那是对的吗?我所追求的是一个已经创建的用户,能够从前端添加不确定数量的帖子。我希望它灵活,因此 prisma.update 函数可以处理发送给它的任意数量的帖子。
    • 是的,这是正确的,我知道这是您想要的或误解了您?,您可以使用更新方法添加许多帖子
    猜你喜欢
    • 1970-01-01
    • 2021-04-28
    • 2018-12-31
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多