javascript — typeorm выберите объект OneToMany по последнему созданному

typeorm выберите объект OneToMany по последнему созданному

Думаю, у меня типичная проблема — как правильно выбрать последнюю сущность отношений OneToMany по typeorm? дБ это postgresql

 @Entity('hubs') export class Hub { @PrimaryGeneratedColumn('uuid') id: string; @Column() ip: string; @OneToMany(type ={amp}gt; HubStatus, statusLog ={amp}gt; statusLog.hub, { cascade: true }) statusLog: Array{amp}lt;HubStatus{amp}gt;; @UpdateDateColumn() updatedAt: Date; lastStatus: any; @AfterLoad() async getStatus() { const query = createQueryBuilder(Hub) .leftJoinAndSelect("Hub.statusLog", "statusLog", 'Hub.id = :id', { id: this.id }) //.addSelect("MAX(statusLog.createdAt)") //.andHaving('statusLog.createdAt = MAX(statusLog.createdAt)'); //.andWhere('Hub.id = :id', { id: this.id }) //.andWhere('statusLog.createdAt = MAX(statusLog.createdAt)'); //assign part of result to this.lastStatus } } @Entity('hub-status') export class HubStatus { @PrimaryGeneratedColumn() id: string; @Column({type: 'json') somecolumn @ManyToOne(type ={amp}gt; Hub, hub ={amp}gt; hub.statusLog) hub: Hub; @CreateDateColumn() createdAt: Date; } 

я хочу получить последний (созданный Att) связанный HubStatus в блоке @AfterLoad . max нельзя использовать в предложении where , я также попробовал несколько вариантов использования max в select и они не работают по разным причинам.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector