嵌套在Prisma中

问题描述

我的架构如下:

isTrue

我正在编写一个变异函数,该函数采用false对象的数组。这些model User { id Int @default(autoincrement()) @id createdAt DateTime @default(Now()) email String @unique role String @default("user") sessions Session[] profile Profile? goalBoard GoalBoard[] team Team[] ... } model GoalBoard { id Int @default(autoincrement()) @id active Boolean // Whether an active goalBoard owner User @relation(fields: [ownerId],references: [id]) ownerId Int createdAt DateTime @default(Now()) goal Goal[] ... } model Goal { id Int @default(autoincrement()) @id status String createdAt DateTime @default(Now()) owner User @relation(fields: [ownerId],references: [id]) ownerId Int goalBoard GoalBoard @relation(fields: [goalBoardId],references: [id]) goalBoardId Int content String goalFrequency GoalFrequency[] task Task[] } model Task { id Int @default(autoincrement()) @id status String // incomplete,complete createdAt DateTime @default(Now()) content String goal Goal @relation(fields: [goalId],references: [id]) goalId Int } 对象具有goal对象的嵌套数组。看起来像这样:

goal

我如何使用prisma2处理这种结构?需要多次写入和task逻辑。

这是我在Db中写入插入的失败尝试。只需一个插入和连接即可进行测试。

const goals = [
  {
    title: 'string',...
    tasks: [
      {
        deadline: "2020/10/10",...
      }
    ]
  },...
]

解决方法

您的本示例架构没有使用此创建的问题

import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

async function main() {
  prisma.$connect();
  const user = await prisma.user.create({
    data: {
      email: 'a@ahmedelywa.com',},});
  const result = await prisma.goal.create({
    data: {
      content: 'test content',status: 'any',owner: {
        connect: {
          id: user.id,goalBoard: {
        create: {
          active: true,owner: {
            connect: {
              id: user.id,include: {
      owner: true,goalBoard: true,});

  console.log(result);
}

main();

结果

{
  id: 1,createdAt: 2020-10-04T10:53:40.956Z,ownerId: 1,goalBoardId: 1,content: 'test content',owner: {
    id: 1,createdAt: 2020-10-04T10:53:40.949Z,email: 'a@ahmedelywa.com',role: 'user'
  },goalBoard: {
    id: 1,active: true,createdAt: 2020-10-04T10:53:40.956Z
  }
}

也许您的其他隐藏架构内容存在问题