-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
createQueryBuilder
21.08.31 06:44 작성 조회수 368
0
아직 TypeORM 가 조금 헤깔려서 질문 남깁니다. ㅠ
board.id = comments.boardId 을 join 걸어야하는데,
erd 가 이렇게 구성되어있구요 .
Board entity
Comments entity
이렇게 구성되어져있습니다 !
boardId 를 가지고 board 의 작성 내용과 그밑에 comments 들을 들고올려고 하는데요 .
어떻게 작성 할수있을까요?? ^^ ; ㅎ
답변을 작성해보세요.
0
SJ
2021.09.01
1 https://typeorm.io/#/select-query-builder
위의 사이트에서 해당하는 글을 읽어봤는데여 .
3번째 인수에 조건을 거는것과 , where 문의 차이엔 어떤 차이가 있을까영 ?
2. 인자값에 타입지정은 자주 하셨지만 return 타입엔 비교적 타입추론을 자주 하셨더라구요 . ㅎ 특별한 이유가 있을까요 ? ㅎ
0
조현영
지식공유자2021.08.31
데이터까지 가져오려면 innerJoinAndSelect를 쓰셔야 합니다.
innerJoinAndSelect('board.BoardToComments', 'commentsOfBoard')
3번째 인수는 조건인데 현재 상황에서 필터링하는 게 없으므로 따로 조건을 넣을 필요는 없습니다.
SJ
2021.08.31
아아 해당하는 만약 board 에 대한 comments 들과 board 데이터를 가져와야한다하면
그 해당하는 board 를 알기위해 3번째 인수에 조건을 걸어줘야하죠?
1. 제로초님이 네이밍 구성을 길게하라고해서 길게 적을려고 하는데 저기서 네이밍이라던지 좀더 수정해야될게 뭐가있을까요 ?
2. async 에서 return 타입은 무엇으로 하시나여 ???
조현영
지식공유자2021.09.01
아뇨. boardId 조건은 where에 적는 겁니다. commentsOfBoard의 BoardId는 전부 해당 board의 아이디라서 의미가 없습니다.
저라면 BoardToComments 대신에 그냥 Comments 했을 것 같습니다(Entity쪽 수정) 그래야 board.Comments로 자연스럽습니다.
commentsOfBoard도 그냥 comments만 쓰고요. 읽을 때 중복없이 자연스러운게 좋습니다.
return 타입은 알아서 추론돼서 직접 적으실 필요 없습니다(getManyAndCount의 리턴타입).
답변 2