Внешний ключ TypeORM не отображается при вызове поиска - PullRequest
2 голосов
/ 19 июня 2020
export class Contact extends BaseEntity {
  ...
  @ManyToOne(() => User, { nullable: false })
  @JoinColumn({ name: 'user_id' })
  user: User;
  ...
}

const repo = new Repository<User> ();
const response = await repo.findAll();
console.log(response);

console.log:
[
 Contact {
  id: 1,
  ...
 },
 Contact {
  id: 2,
  ...
 }
]

Я пытаюсь получить все столбцы, включенные в мой Contact, но я могу получить только те столбцы, которые не связаны с другим объектом. Он не включает столбцы user_id. Почему, например, не получается получить внешний ключ?

1 Ответ

4 голосов
/ 19 июня 2020
export class Contact extends BaseEntity {
  ...
  // add column explicitly here
  @Column({ name: 'user_id' })
  userId: number;

  @ManyToOne(() => User, { nullable: false })
  @JoinColumn({ name: 'user_id' })
  user: User;
  ...
}

Вы должны явно добавить столбец userId и передать это имя столбца в @JoinColumn декоратор.

Надеюсь, это поможет.

Вот обсуждение этого. https://github.com/typeorm/typeorm/issues/586#issuecomment -311282863

...