带有实体关系的nestjs graphql - 如何装饰它?
Posted
技术标签:
【中文标题】带有实体关系的nestjs graphql - 如何装饰它?【英文标题】:nestjs graphql with entity relations - how to decorate it? 【发布时间】:2021-04-11 09:51:44 【问题描述】:当我有关系时,我在“装饰”类时遇到问题,这些类应该用作 ObejctType 和 InputType。应该可以在其他类中使用关系类
例如有地址的客户,有地址的用户
@ObjectType()
@InputType()
export class Address
@Field()
street: string;
@Field()
city: string;
@ObjectType()
@InputType()
export class Customer
@Field()
name: string;
@Field(() => Address)
address: Address;
@ObjectType()
@InputType()
export class User
@Field()
name: string;
@Field(() => Address)
address: Address;
我也想使用 Customer 和 User 作为 Mutations 的输入参数。但我没有成功。我尝试了 InputType 和 ObjectType 的“isAbstract”选项的变体,但我对这个解决方案不满意。
谁能给我一个提示如何做到这一点。
【问题讨论】:
【参考方案1】:如果遇到冲突错误,则需要明确指定 ObjectTypes 和 InputTypes 的名称。
所以试试这样的:
@ObjectType("AddressType")
@InputType("AddressInput")
export class Address
@Field()
street: string;
@Field()
city: string;
看到这个Use the same class as Input and Object type in GraphQL in NestJS。
【讨论】:
感谢您的回答。是的 InputType 和 ObjectType 的“命名”有效。以上是关于带有实体关系的nestjs graphql - 如何装饰它?的主要内容,如果未能解决你的问题,请参考以下文章
NestJS + Typeorm + Graphql:嵌套关系中 DTO 的正确设计模式
将 TypeORM 实体模型类与 NestJS-GraphQL 模式类型结合使用好吗?
NestJS 中与 GraphQL 的 Prisma 自关系
如何在 neo4j-graphql-js 端点中使用带有 nestjs 框架的拦截器?