TypeORM GraphQL嵌套查询返回null

TypeORM GraphQL嵌套查询返回null,graphql,typeorm,Graphql,Typeorm,我正在尝试使用GraphQL嵌套查询来获取有关项目a和客户的信息。我可以获得有关项目的信息,但我无法获得客户信息 如何正确获取嵌套信息 项目模型 import { Entity, BaseEntity, PrimaryGeneratedColumn, Column, ManyToOne} from "typeorm"; import { ObjectType, Field, ID } from "type-graphql"; import {Customer} from "./Customer

我正在尝试使用GraphQL嵌套查询来获取有关项目a和客户的信息。我可以获得有关项目的信息,但我无法获得客户信息

如何正确获取嵌套信息

项目模型

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[];

}
项目解析器

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
    }
  }
}

感谢您的帮助

您需要明确告诉typeorm在查询中包含关系,例如:`return Project.findOne({where:{id},relations:['customer']});`。或者使用FieldResolver修饰的方法,检查文档:您需要显式地告诉typeorm在查询中包含关系,例如:`return Project.findOne({where:{id},relations:['customer']});`。或者使用FieldResolver修饰的方法,检查文档: