第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從不是數(shù)據(jù)庫(kù)列的實(shí)體中另外返回字段?

如何從不是數(shù)據(jù)庫(kù)列的實(shí)體中另外返回字段?

慕沐林林 2023-07-14 15:49:58
我有一個(gè)具有多個(gè)帶有注釋的字段的實(shí)體,@Column如下所示:@Entity()export class User {  @PrimaryGeneratedColumn()  id!: number;  @Column({    type: 'varchar',  })  firstName: string;  @Column({    type: 'varchar',  })  lastName: string;}當(dāng)保存后我返回保存的對(duì)象時(shí),他只返回我這三個(gè)字段,但我想返回另一個(gè)字段:fullName但我不想將其保存在數(shù)據(jù)庫(kù)中所以,我嘗試在 eneity 中添加這個(gè)字段:fullName: string;但是當(dāng)我映射這個(gè)字段 mytext并返回這個(gè)對(duì)象,然后返回我全部但不返回我的 fullName 時(shí),有人可以告訴我如何從不是數(shù)據(jù)庫(kù)中的列的實(shí)體返回另外的字段嗎?
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以將此部分添加到您的實(shí)體中:


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}`;

}


查看完整回答
反對(duì) 回復(fù) 2023-07-14
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

@Entity()

export class User {

  @PrimaryGeneratedColumn()

  id!: number;


  @Column({

    type: 'varchar',

  })

  firstName: string;


  @Column({

    type: 'varchar',

  })

  lastName: string;


 @Expose()

  public get fullName() {

    return `${this.firstName} ${this.lastName}`;

  }

}

執(zhí)行上述操作時(shí),數(shù)據(jù)庫(kù)不會(huì)將 fullName 值存儲(chǔ)在列中。相反,它是在每次訪問(wèn)時(shí)即時(shí)計(jì)算的。


查看完整回答
反對(duì) 回復(fù) 2023-07-14
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以創(chuàng)建一個(gè)代表最終數(shù)據(jù)的類型,例如:


type CustomUser = {

   id: number;

   firstName: string;

   lastName: string;

   fullName: string;

}

之后,讓您的查詢返回此類型


  return getManager()

    .createQueryBuilder(User, 'user')

            .select('user.id', 'id')

            .select('user.firstName', 'firstName')

            .addSelect('user.lastName', 'lastName')

            .addSelect('CONCAT(firstName, ' ', lastName', 'fullName')      

            .getRawMany();


// getRawMany() if you want to fetch many records or getRawOne()

如果您只需要所有用戶的 fullName 列,您可以嘗試:


const { fullName } = await getManager()

        .createQueryBuilder(User, 'user').select('CONCAT(firstName, ' ', 

        lastName', 'fullName').getRawMany();

return fullName;


查看完整回答
反對(duì) 回復(fù) 2023-07-14
  • 3 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)