-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
db 관련 질문입니다
21.12.13 19:09 작성 조회수 101
0
안녕하세요 제로초님
Product를 Cart에 추가할 때
Cart에 기존 아이템 존재시
product의 totalPrice와 quantity만 증가시켜주고
아닐시 새로운 product를 만들도록 해보았습니다.
ㄴ
우선 Cart에 처음으로 product를 추가하고
이후 Cart에 기존 아이템 존재시
product의 totalPrice와 quantity만 증가시켜주는 것 까지는 정상적으로 db에 저장하는 것 까지는 되었습니다.
에러
문제는 그 해당하는 상품의 다른 사이즈를 추가할 때부터 발생했습니다.
한 테이블에 ProductId와 UserId 가 같은 값을 가진 상태로 또 추가가 되니
발생하는 오류인 것 같았습니다.
찾아본해결
https://github.com/sequelize/sequelize/issues/3220
에
따라서
unique: false 를 추가해서 다시 db에 저장해보니 정상적으로 추가가 되긴 했습니다.
다만 기존 Product의 같은 사이즈를 또 추가할 때 기존 데이터에서 quantity와 totalPrice가
증가되어 저장하는게 아니라 새로운 데이터가 만들어지면서 추가되어버립니다
이럴 때 ProductId와 UserId를 한 테이블에 여러 번 쓰면서 quantity와 totalPrice만 증가시켜서
저장할 수는 없는지 궁긍합니다.
답변을 작성해보세요.
1
조현영
지식공유자2021.12.13
간단하게 productid userid에 걸려있는 unique를 푸시면 됩니다. 그리고 지금 코드를 보면 항상 create가 실행되는데 이 부분을 else로 빼야하지 않나요?
답변 1