// postModel
export class PostModel {
@PrimaryGeneratedColumn()
id: number;
// 포스트 모델 입장에서는 다수이기 때문에 ManyToOne
@ManyToOne(() => UserModel, (user) => user.posts)
author: UserModel;
@Column()
title: string;
}
// userModel
@OneToMany(() => PostModel, (post) => post.author)
posts: PostModel[];
<aside>
💡 One to One에서 했던것처럼, @JoinColumn
을 할 필요가 없다.
</aside>
one to Many, Many to One 관계에서는 Many to One 입장에서 자동으로 아이디를 가지게 된다.
상대 테이블의 ID를 가지고 있는것은 Many to One
입장의 테이블에서 가지고 있게 된다. (ex. postModel)
get 해올때
@Get('users')
getUsers() {
return this.userRepository.find({
relations: {
profile: true,
posts: true,
},
});
}
<aside> 💡 Many to One이 되는 테이블에서 상대방 테이블의 아이디를 가지고 있다.
</aside>