typeorm "\"user\" 别名没有找到。也许你忘了加入它?"

typeorm "\"user\" alias was not found. Maybe you forgot to join it?"

我正在学习 typeorm。
我有一个问题。请帮帮我

@Entity('user')
export class User extends BaseEntity {

  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'varchar', length: '100', unique: true })
  email: string;

  @Column({ type: 'varchar', length: '10', unique: true })
  nickname: string;

  @Column({ type: 'varchar', length: '100' })
  password: string;

  @CreateDateColumn({ name: 'created_at' })
  createdAt: Date;

  @UpdateDateColumn({ name: 'updated_at' })
  updatedAt: Date;

  // One to One
  @Column({ nullable: true })
  avatarId: number;

  @OneToOne(() => Avatar)
  @JoinColumn()
  avatar: Avatar;
}

这是我的用户实体

@Entity('avatar')
export class Avatar extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'varchar', length: '255' })
  src: string;
}

这是我的头像实体

我想加入他们并打电话,所以我的查询生成器是

const createdUser = await createQueryBuilder('user')
    .leftJoinAndSelect('user.avatar', 'avatar')
    .where('user.email = :email', { email })
    .getOne();

但是当我执行这个的时候,错误来了

"\"user\" alias was not found. Maybe you forgot to join it?"

不知道哪里出错了
我搜索文档和谷歌搜索,
(我英语说得不好,很难...)
请帮我看看是什么问题

尝试为您的加入添加条件:

.leftJoinAndSelect('user.avatar', 'avatar', 'avatar.id = user.avatarId')

or/and用户实体中头像栏的反面

  @OneToOne(() => Avatar, data => data.user)
  @JoinColumn()
  avatar: Avatar;