如何避免与 postgres 和 TypeORM 中的 find 相关的软删除项?

问题描述 投票:0回答:1

当我找到任何对象时,我不想从关系中获取软删除的项目。怎么办?

const product = await this.productRepository.findOne({
    where: {
       id: productId,
    },
    relations: [
       'items',
       'billingAddress',
       'shippingAddress',
       'contact',
       'tax',
       'paymentTerm',
       'transactions',
       'salesPerson',
    ],
 });

我在这里软删除了一笔交易,但是当我尝试查找产品时,我也得到了软删除的交易,我可以做些什么来避免?

postgresql typeorm soft-delete
1个回答
0
投票

我尝试发现这是默认行为。我只需要用@DeleteDateColumn 属性将deletedAt 列放入实体中即可。

@DeleteDateColumn({ nullable: true })
deletedAt:Date

并且该关系不会加入已删除的列不为空的列。

© www.soinside.com 2019 - 2024. All rights reserved.