© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
Drizzle TeamDT
Drizzle Team•3y ago•
3 replies
philbookst

Need help transform a nested prisma query to drizzle

Hey I'm trying to translate the following prisma query to drizzle:

const invite = await prisma.invite.findUnique({
  where: {
    id: token
  },
  include: {
    invitedBy: {
      select: {
        title: true,
        firstName: true,
        lastName: true,
      }
    },
    course: {
      select: {
        name: true,
        settings: {
          select: {
            hostAlias: true,
            moderatorAlias: true,
            memberAlias: true
          }
        }
      }
    }
  }
});
const invite = await prisma.invite.findUnique({
  where: {
    id: token
  },
  include: {
    invitedBy: {
      select: {
        title: true,
        firstName: true,
        lastName: true,
      }
    },
    course: {
      select: {
        name: true,
        settings: {
          select: {
            hostAlias: true,
            moderatorAlias: true,
            memberAlias: true
          }
        }
      }
    }
  }
});


closest i've come to is this:
const invite = await db
  .select({
    inviteExpiresAt: Invite.inviteExpiresAt,
    inviteAs: Invite.inviteAs,
    limit: Invite.limit,
    invitedBy: {
      title: User.title,
      firstName: User.firstName,
      lastName: User.lastName,
    },
    course: {
      id: Course.id,
      name: Course.name,
    },
    settings: {
      hostAlias: CourseSettings.hostAlias,
      moderatorAlias: CourseSettings.moderatorAlias,
      memberAlias: CourseSettings.memberAlias
    }
  })
  .from(Invite)
  .where(eq(Invite.id, token))
  .innerJoin(User, eq(Invite.invitedById, User.id))
  .innerJoin(Course, eq(Invite.courseId, Course.id))
  .innerJoin(CourseSettings, eq(Course.id, CourseSettings.courseId))
const invite = await db
  .select({
    inviteExpiresAt: Invite.inviteExpiresAt,
    inviteAs: Invite.inviteAs,
    limit: Invite.limit,
    invitedBy: {
      title: User.title,
      firstName: User.firstName,
      lastName: User.lastName,
    },
    course: {
      id: Course.id,
      name: Course.name,
    },
    settings: {
      hostAlias: CourseSettings.hostAlias,
      moderatorAlias: CourseSettings.moderatorAlias,
      memberAlias: CourseSettings.memberAlias
    }
  })
  .from(Invite)
  .where(eq(Invite.id, token))
  .innerJoin(User, eq(Invite.invitedById, User.id))
  .innerJoin(Course, eq(Invite.courseId, Course.id))
  .innerJoin(CourseSettings, eq(Course.id, CourseSettings.courseId))


but when trying to move the settings object into the course object as it is in the prisma query I get an error
Object literal may only specify known properties, and 'hostAlias' does not exist in type 'SQL<unknown> | Aliased<unknown> | AnyMySqlColumn<{}>'
Object literal may only specify known properties, and 'hostAlias' does not exist in type 'SQL<unknown> | Aliased<unknown> | AnyMySqlColumn<{}>'


is there any way to get the same result with drizzle? thank you very much for your help! drizzle is awesome!
Drizzle TeamJoin
The official Discord for all Drizzle related projects, such as Drizzle ORM, Drizzle Kit, Drizzle Studio and more!
11,879Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Help migrating raw query from prisma to drizzle
Drizzle TeamDTDrizzle Team / help
3y ago
Help migrating a nested Prisma update
Drizzle TeamDTDrizzle Team / help
3y ago
Help with nested query
Drizzle TeamDTDrizzle Team / help
2y ago
Prisma to Drizzle speak conversation help
Drizzle TeamDTDrizzle Team / help
2y ago