【问题标题】:Select soft deleted record when using left join nestjs使用左连接nestjs时选择软删除记录
【发布时间】:2021-10-31 13:52:08
【问题描述】:

我有一个 order 表与关系 address

@Entity('orders')
export class Order {
  ...
  @ManyToOne(() => Address, (address) => address.orders)
  address: Address;
  ...
}
@Entity('addresses')
export class Address {
  ...
  @DeleteDateColumn()
  deletedAt?: Date;
  ...
}

address 表使用软删除,如果我使用下面的查询,我无法获得软删除 address 记录

const query = this.createQueryBuilder('order')
      .leftJoinAndSelect('order.address', 'address');

我想获取所有带有 addressorder 是否已软删除。对此问题有任何疑问?

【问题讨论】:

    标签: mysql nestjs typeorm


    【解决方案1】:

    使用以下语法:

    const query = this.createQueryBuilder('order')
      .withDeleted()
      .leftJoinAndSelect('order.address', 'address');
    

    请务必在加入前添加.withDeleted,否则删除的Address实体将不会返回。

    【讨论】:

    • 谢谢,成功了!我已经在leftJoinAndSelect 之后尝试过.withDeleted 并在Address 处返回null ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多