以下の 2 つの表の本と著者のコード サンプルを見つけてください。著者の詳細とともにすべての本を一覧表示したいのですが、
本
@Entity()
export class Book{
@PrimaryKey()
id!: number;
@Property()
title!: string;
@ManyToOne({ entity: () => Author }) // or use options object
author!: Author;
}
著者:
@Entity()
export class Author {
@PrimaryKey()
id!: number;
@Property()
createdAt: Date = new Date();
@Property({ onUpdate: () => new Date() })
updatedAt: Date = new Date();
@Property()
name!: string;
@Property()
email!: string;
@Property({ nullable: true })
age?: number;
@Property({ nullable: true })
identities?: string[];
@Property({ nullable: true })
born?: Date;
@OneToMany({ entity: () => Book, mappedBy: 'author', orphanRemoval: true })
books = new Collection<Book>(this);
@Property({ version: true })
version!: number;
constructor(id: number, name: string) {
this.id = id;
this.name = name;
}
}
サービス:
@Injectable()
export class AppService {
constructor(
private readonly orm: MikroORM,
private readonly em: EntityManager,
) {}
async findBooks(): Promise<any> {
const books: Book[] = await this.orm.em.find(Book, {});
return books;
}
}
現在、Ref { id: 4 } のような結果が得られていますが、すべての著者の詳細を id と共に取得したいと考えています。
可能であればサービスページで修正してください。