Как создать категории с подкатегориями nestjs, prisma, postgresql?

что я сделал и как, по порядку: category-dto:

export class CreateCategoryDto {
@IsString({message:'Название категрии нужно указать обязательно'})
name: string

@IsString()
seo: string

@IsString()
description: string

@IsInt({each: true})
parentId?: number[]
}

схема таблицы категорий:

model Category {
 id          Int                 @id @default(autoincrement())
 name        String              @unique
 seo         String              @unique
 parentId    Int?                @default(0)
 description String
 jobOffers   CategoryOnOfferts[]
 parent      Category?           @relation("SubCategory", fields: [parentId], references: [id])
 children    Category[]          @relation("SubCategory")

 @@index([parentId], map: "categories_parentId_IDX")
 @@map("categories")
}

category.sarvice:

async create(createCategoryDto: CreateCategoryDto) {
const nestedCategories = createCategoryDto.parentId?.map((id) => ({
  id
})) || []

try {
  return await this.prisma.category.create({
    data: {
      name: createCategoryDto.name,
      seo: createCategoryDto.seo,
      description: createCategoryDto.description,
      children: {
        connectOrCreate: [
          {
            where: {id: 1},
            create: createCategoryDto
          }
        ]
      }
    },
    include: {
      children: true
    }
  })
} catch (err) {
  if (
    err instanceof Prisma.PrismaClientKnownRequestError &&
    err.code === PrismaError.ConnectedRecordsNotFound
  ) {
    console.log(err)
    throw new ConflictException('Некоторые из предоставленых ИД категорий не верны')
  }
}
}

проблема в ошибке при создании категории Foreign key constraint failed on the field: categories_parentId_fkey (index)


Ответы (0 шт):