• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

delete({ id, user}) 안되는 문제

22.09.22 14:41 작성 조회수 827

2

저는 id => { id, user} 로 변경하니 type 에러가 발생했습니다.

그래서

  1. (mac기준) 커맨드 + delete 함수 클릭

  2. criteria 변수에 { id:number, user:User} 타입 추가

  3. 저장

이 방법으로 해결했습니다.

별거 아니지만 저는 엄청 헤매서 공유차 남깁니다..!

답변 3

·

답변을 작성해보세요.

7

Do Gun Lee님의 프로필

Do Gun Lee

2023.04.06

user 타입을 받지 못하여서 저는 명시적으로 조건을 주는 방법으로 해결했습니다.

const result = await this.boardRepository.delete({
      id,
      user: {
        id: user.id,
      },
    });

2

김기쁨님의 프로필

김기쁨

2022.12.14

오 좋은 답변 감사합니다.

window도 창현님 적어주신대로 처리하면

해결 가능합니다.

(태클X) 다만 Repository 자체를 수정해주는 방향이 맞을까요?

만약 board 이외의 entity를 같은 방식으로 delete 한다면 똑같이 Repository criteria 변수에 타입을 추가해야할까요?

궁금해서 추가 질문 남깁니다.

ps. 저는 아래와 같이 쿼리빌더를 통해서 기능을 구현했습니다. (기존에 Repository API로 구현하고자 삽질하다가 쿼리빌더로 구현했었네요 ㅠㅠㅠ)

await this.boardRepository.createQueryBuilder('board')

.delete()

.from(Board)

.where("userId = :userId", { userId: user.id })

.andWhere("id = :id", { id: id})

.execute();

typeORM docs: 쿼리빌더 delete 메소드
https://orkhan.gitbook.io/typeorm/docs/delete-query-builder

다영님의 프로필

다영

2022.12.28

감사합니다 !!

덕분에 잘 해결했어요 !!!

0

다영님의 프로필

다영

2022.12.28

와 ㅠㅠ 정말 감사합니다

엄청 해맸는데 혹시나 하고 검색했더니 여기서 이런 혜안을 발견했어요!!