簡體   English   中英

Nest js 中的 ER_PARSE_ERROR

[英]ER_PARSE_ERROR in Nest js

您好,我對 NestJS 中的關系有疑問。

我試圖讓用戶與名為 club 這樣的關系:

async findOne(id: number): Promise<User> {
  return this.userRepository.findOne({
    where: { id: id },
    relations: ['club'],
  });
}

這會引發此錯誤:

ER_PARSE_ERROR: You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `User`.`id` = 1) `distinct Alias`  ORDER BY `User_id` ASC LIMIT 1' at line 1

我認為我的實體看起來是正確的,MariaDB 有問題嗎?

有我的用戶實體:

export class User {
  @PrimaryGeneratedColumn()
  id: number;
  @Column()
  @Unique('email_unique', ['email'])
  email: string;
  @Column()
  @Unique('username_unique', ['username'])
  username: string;
  @Column()
  password: string;
  @Column({ type: 'boolean' })
  active = false;
  @Column()
  activationToken: string;
  @OneToOne(() => Club, (club) => club.user)
  club: Club;
}

和俱樂部實體:

@Entity()
export class Club {
  @PrimaryGeneratedColumn()
  id: number;
  @ManyToOne(() => League)
  league: League;
  @OneToOne(() => User, (user) => user.club)
  user: User;
  @Column()
  name: string;
  @Column()
  location: string;
  @OneToMany(() => Player, (player) => player.club)
  players: Player[];
}

您缺少JoinColumn注釋 - 這可能是錯誤生成 sql 的原因。 嘗試在擁有JoinColumn ,例如

export class User {
  // ...
  @OneToOne(() => Club, (club) => club.user)
  @JoinColumn()
  club: Club;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM