Я пытаюсь использовать вложенный запрос GraphQL для получения информации о проекте А и клиенте. Я могу получить информацию о проекте, но не могу получить информацию о клиенте.
Как правильно получить вложенную информацию?
Модель проекта
import { Entity, BaseEntity, PrimaryGeneratedColumn, Column, ManyToOne} from "typeorm";
import { ObjectType, Field, ID } from "type-graphql";
import {Customer} from "./Customer";
@Entity('project')
@ObjectType()
export class Project extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field(() => String)
@Column()
name: string;
@Field(() => String)
@Column()
short_name: string;
@Field(() => String)
@Column()
description: string;
@Field(() => Customer, { nullable: true })
@ManyToOne(type => Customer, customer => customer.projects)
customer: Customer;
}
Пользователь Модель
import { Entity, BaseEntity, PrimaryGeneratedColumn, Column, OneToMany, JoinTable } from "typeorm";
import { ObjectType, Field, ID } from "type-graphql";
import {Project} from "./Project";
import {ProjectUser} from "./Project_handled_by_user";
@Entity('customer')
@ObjectType()
export class Customer extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field(() => String)
@Column()
name: string;
@Field(() => String)
@Column()
short_name: string;
@Field(() => String)
@Column()
active: string;
@Field(() => [Project], { nullable: true })
@OneToMany(type => Project, project => project.customer)
projects: Project[];
}
Project Resolver
import { Resolver, Query, Mutation, Arg } from "type-graphql";
import { Project } from "../models/Project";
@Resolver()
export class ProjectResolver {
@Query(() => [Project])
projects() {
return Project.find();
}
@Query(() => Project)
project(@Arg("id") id: string) {
return Project.findOne({ where: { id } });
}
}
Например, мой запрос:
{
project(id: "1"){
id
name
customer{
id
name
}
}
}
Запрос возвращает:
{
"data": {
"project": {
"id": "1",
"name": "KFS 5.1",
"customer": null
}
}
}
Спасибо за помощь