【发布时间】:2021-06-06 18:12:49
【问题描述】:
我使用 Nest Js、PostgresQl 和 Typeorm。 我在 typeorm 中有这两个实体:
export class Meta {
@PrimaryGeneratedColumn({name: "metaId"})
metaId: number;
@Column({nullable: true})
name: string;
@OneToMany(() => TablesEntity, table => table.metaId, {eager: true, cascade: true})
metaTables: TablesEntity[];
}
//
export class TablesEntity {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(() => Meta, meta => meta.metaTables)
@JoinColumn({name: "metaId"})
metaId: Meta;
}
现在我想根据过滤值获取所有数据:
const meta = await this.metaRepository.findOne({
where: {
metaId: metaId,
metaTables: [{
status: Not('white')
}]
},
relations: ["metaTables"]
});
所以我想获取所有没有状态的数据:“白色”,但我得到一个错误:No entity column "metaTables" was found。
为什么会出现这个错误,如何解决?
【问题讨论】:
-
也许是一个愚蠢的问题,但是有没有可能,你忘记在 Meta 类上使用 Entity 装饰器,所以 typeorm 没有为它生成表?
-
@Balint Csak,没有
metaTables: [{ status: Not('white') }]我得到所有数据,所以它工作,但我需要过滤没有状态白色的元表。 -
也许也是一个愚蠢的问题,但是您是否有机会忘记将状态列添加到 TablesEntity 中?
-
@Asking 谢谢,这有助于回答您的问题。请稍后再给我们一个更准确的例子,因为这有点误导。