TypeORM 의 관계 설정

Jean·2023년 8월 23일
0

관계 설정을 하는데 어려움이 있었다
@Joincolumn으로 관계를 설정하니까 불러오는 방법을 모르겠어서
다른 팀원분께 물어봤더니 완전 새로운 방법을 알려주셨다!!
이 방법이 더 쉬운 것 같아서 적어두려 한다

관계 설정

똑같이 관계 설정은 해주고

//shop의 엔티티
@ManyToOne(() => UsersEntity, (user) => user.shops)
public user: UsersEntity;

@OneToMany(() => ProductsEntity, (product) => product.shop)
public products: ProductsEntity[];

@Joincolumn은 쓰지 않아도 된다

검색할때

relations을 사용해서 해당 테이블을 넣어주고
나의 경우에는 products를 넣었다

await this.shopRepository.find({
  relations: ['user', 'products'],
});

관계 테이블로 검색

products의 아이디로 검색할때는
where에 products를 넣어서 검색한다

await this.shopRepository.findOne({
  where: { products: { id: productId } },
  relations: ['user', 'products'],
});

관계 테이블로 입력

shop에서 products의 아이디를 입력해야할 필요가 있을때

await this.shopRepository.save({
  products: { id: productId } 
});
profile
햇내기 개발자 지망생

0개의 댓글