Typescript 键入@OneToMany不';调用时,不会出现尝试执行的情况

Typescript 键入@OneToMany不';调用时,不会出现尝试执行的情况,typescript,typeorm,typegraphql,Typescript,Typeorm,Typegraphql,我已经看过了这些例子,就我所知,我完全遵循了它们。。。我的@ManyToOne连接按预期在查询中运行,但当包含在我的graphql游乐场调用中时,@OneToMany似乎没有启动。。用户的所有其他数据按预期返回,但设备信息除外 这在my User.ts实体中: @Field(type => [Devices], { nullable: true }) @OneToMany(() => Devices, devices => devices.user) devices: Devi

我已经看过了这些例子,就我所知,我完全遵循了它们。。。我的@ManyToOne连接按预期在查询中运行,但当包含在我的graphql游乐场调用中时,@OneToMany似乎没有启动。。用户的所有其他数据按预期返回,但设备信息除外

这在my User.ts实体中:

@Field(type => [Devices], { nullable: true })
@OneToMany(() => Devices, devices => devices.user)
devices: Devices[];
这是my Devices.ts实体中的条目:

  Field(type => User)
  @ManyToOne(type => User, { lazy: true })
  @JoinColumn([{ name: "userId", referencedColumnName: "userId" }])
  user: User;
在我添加nullable:true之前,我刚刚收到一个错误,说不能为所需的blah返回null。。。我想也许我有一个没有用户的设备,但事实并非如此。。在终端查询输出中,它只查询用户表,不尝试获取设备

我的graphql调用非常简单,但只返回所有设备的空值:

{
  users{
    name
    phone
    devices{
      deviceId
    }
  }
}

在我设置{lazy:true}之前,我的@ManyToOne还为用户返回空值,我也不知道为什么。。显然,@OneToMany没有这样的设置。。我是一个续集,javascript宝贝,这是我第一次尝试TypeORM,所以任何帮助都将不胜感激。或者,如果有相关代码我还没有输入,请让我知道,我会完成的。。提前干杯

有意思。。。。我几乎没有在任何地方看到过这样的例子,但最后我添加了 {lazy:true}对@OneToMany调用也是如此,它们现在可以工作了。我不知道这是一个选择

@Field(type => [Devices], { nullable: true,  })
@OneToMany(() => Devices, devices => devices.user, { lazy: true })
devices: Devices[];

这可能有点让人困惑,除非你已经记住了项目的细节和一些项目问题。将关系标记为lazy是一种方法,但是您也可以使用querybuilder模式,或者使用中建议的
find
属性。我相信指定发出查询的关系将是惯用的
TypeORM
code。您可以使用惰性字段按需自动解析关系(嵌套字段):或者只需手动编写字段解析程序,例如,当您需要使用某个参数(字段arg)查询数据库时: