こんにちは、お元気ですか。私はこの 1 週間、Nestjs を学んでいて、とても楽しんでいます。現在、Prisma 2 で使用して、graphql サーバーを構築しています。プリズマを使用して結果をフィルタリングまたは順序付けできるように、graphql タイプ フィールドに引数を追加したいと考えています。明確にするために、次のスキーマを実行できるようにしたい
query {
findUniqueUser(where: { id: 1 }) {
id
email
name
posts(where: { title: { contains: "a" } }, orderBy: { createdAt: asc }, first: 10, skip: 5) {
id
title
comments(where: { contain: { contains: "a" } }) {
id
contain
}
}
}
}
ライブラリ@paljs/pluginsを使用して、GraphQLResolveInfo から情報を抽出し、prisma にクエリを実行しています。ライブラリPrisma-nestjs-graphqlを使用して、すべての graphql タイプ定義を自動的に生成しています。Nestjsを使用してそれを試みた人はいますか? ありがとう、素晴らしい一日を
編集:コードファーストgraphqlを使用しています
編集2:掘り下げた後、 を使用する方法を見つけました@ResolveField
。
@Query((returns) => Patient, { nullable: true, name: "patient" })
async getPatient(@Args() params: FindUniquePatientArgs, @Info() info: GraphQLResolveInfo) {
const select = new PrismaSelect(info).value;
params = { ...params, ...select };
return this.prismaService.patient.findUnique(params);
}
@ResolveField(() => File)
async files(@Parent() patient: Patient, @Args() params: FindManyFileArgs) {
return patient.files;
}
これが最善の方法かどうかはわかりませんので、今のところ質問には答えません。