Typescript 键入@OneToMany不';调用时,不会出现尝试执行的情况
我已经看过了这些例子,就我所知,我完全遵循了它们。。。我的@ManyToOne连接按预期在查询中运行,但当包含在我的graphql游乐场调用中时,@OneToMany似乎没有启动。。用户的所有其他数据按预期返回,但设备信息除外 这在my User.ts实体中: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
@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)查询数据库时: