[英]How to create a GraphQL query in type-graphql with a custom return type
我正在尝试创建一个查询两个数据库表并返回一个自定义对象的 graphql 查询。 我很难弄清楚如何定义这种自定义类型。
我在 typeorm 中创建了两个实体:Track 和 Vehicle:
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from "typeorm";
import { ObjectType, Field, ID } from "type-graphql";
@ObjectType()
@Entity()
export class Track extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field()
@Column("text", { unique: true })
trackId: string;
@Field()
@Column()
origin: string;
@Field()
@Column("text", { unique: true })
name: string;
}
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from "typeorm";
import { ObjectType, Field, ID } from "type-graphql";
@ObjectType()
@Entity()
export class Vehicle extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field()
@Column("text", { unique: true })
vehicleId: string;
@Field()
@Column()
vehicleFolder: string;
@Field()
@Column("text", { unique: true })
name: string;
}
我想进行一个返回这样的对象的查询:
interface TracksAndVehicles {
tracks: Track[];
vehicles: Vehicle[];
我无法弄清楚如何做到这一点。 这是我的解析器:
import { Resolver, Query, Field, ObjectType } from "type-graphql";
import { Track } from "../../entity/Track";
import { Vehicle } from "../../entity/Vehicle";
@ObjectType()
class TracksAndVehicles {
@Field()
tracks: Track[];
@Field()
vehicles: Vehicle[];
}
@Resolver()
export class GetTracksAndVehiclesResolver {
@Query(() => TracksAndVehicles)
async getTracksAndVehicles(): Promise<TracksAndVehicles> {
const tracks = await Track.find();
const vehicles = await Vehicle.find();
return { tracks, vehicles };
}
}
我收到此错误: Error: You need to provide explicit type for TracksAndVehicles#tracks
有任何想法吗?
https://typegraphql.com/docs/types-and-fields.html
@Field(type => [Track])
tracks: Track[];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.