typescript - Hur lägger man till typdefinitioner för includes i en Prisma-modell?


Exemplet i dokumentationen ser ut så här:

const getUser = await prisma.user.findUnique({
  where: {
    id: 1,
  },
  include: {
    posts: {
      select: {
        title: true,
      },
    },
  },
})

Men när jag vill läsa egenskapen getUser.posts får jag följande fel:

TS2339: Property 'posts' does not exist on type 'User'.

Var kan jag hitta de korrekta typdefinitionerna för alternativet includes?

Svar #1

De genererade typerna inkluderar inte relationer eftersom frågor inte returnerar relationer som standard. För att inkludera de relaterade modellerna i din typ, använd de tillhandahållna Prisma-verktygstyperna på följande sätt:

import { Prisma } from '@prisma/client'

type UserWithPosts = Prisma.UserGetPayload<{
  include: { posts: true }
}>

Relaterade artiklar