1

以下の 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 と共に取得したいと考えています。

可能であればサービスページで修正してください。

4

1 に答える 1