首页 > 解决方案 > 如何从不是数据库中的列的实体中返回额外的字段?

问题描述

我有一个带有多个字段的实体,注释@Column如下:

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id!: number;

  @Column({
    type: 'varchar',
  })
  firstName: string;

  @Column({
    type: 'varchar',
  })
  lastName: string;
}

保存后我返回保存的对象,然后他只返回这三个字段,但我想返回另一个字段:fullName但我不想将其保存在数据库中

所以,我尝试在 eneity 中添加这个字段:

fullName: string;

但是当我在这个字段上映射text并返回这个对象,然后全部返回但不返回我的全名时,有人能告诉我如何从不是数据库中的列的实体中返回额外的字段吗?

标签: javascripttypescriptormtypeorm

解决方案


您可以将此部分添加到您的实体中:

fullName: string; // just define a property to use it in afterLoad method

@AfterLoad() // this method will be called on each entity query
afterLoad() {
    this.fullName = `${this. firstName} ${this.lastName}`;
}

推荐阅读