오늘 배운 내용 📚
- 주문하기 테이블부터 API 생성까지
추가 정리 내용 📑
- 가장 최근에 등록한 PK 값 받아오기
- 여러 행 한 번에 데이터 추가하는 방법
쇼핑몰을 제작하는 과정 중에 가장 중요하다 생각이 되는 결제페이지 API를 만드는데 신경 쓸게 너무 많았습니다.
첫 번째로 배송지 문제였습니다. 제가 생각하는 배송지는 유저가 매번 입력을 하지 않더라도 만약에 등록해 놓은 배송지가 있다면 해당 배송지를 바로 전달을 해주고, 등록해 놓은 배송지가 없다면 새로 배송지를 입력하는 form이 생겼으면 했습니다. 왜냐하면 배송지 database에 계속 누적이 되는 것도 불필요한 데이터차지라고 생각을 했고, 저희가 배송지를 미리 등록을 할 수도, 혹은 새로운 배송지가 추가될 수도 있기 때문이었습니다. 하지만 당장 해당 기능을 만들수가 없어서 일단 결제페이지를 만들고 나서 따로 배송지 입력을 받을 수 있게 하는 걸로 작업을 하려 합니다.
두 번째는 주문을 추가하는 방법이었습니다. 마냥 모든 도서 정보를 받기보다 필요한 유저 번호를 받고 , 총금액과, 총수량, 그리고 배송지 번호를 받고, 도서정보들은 따로 도서정보 테이블에 분리를 해야 하는데 총금액, 총수량은 넣는데 어려움이 없었지만, 도서정보들을 입력하는 게 도저히 생각이 안 났습니다. 찾아봤을 때는
INSERT INTO table (values1, values2, values3)
VALUES (?, ?, ?), (?, ?, ?), ...
위와 같이 입력할 수 있다고 하는데 어떻게 넣어야 하나 한참 고민을 하다 결국에는 포기하고 강의를 선 수강했습니다.
forEach를 이용하여 2중 배열로 담아 value 값을 넣어준 것이었는데요, 배열로도 들어가는 것을 알게 되었고, 다음에도 이런 값을 입력할 일이 생긴다면 문제없이 넣어볼 수 있을 것 같았습니다.
마지막으로 배송지 id값과 주문 id값을 받아왔어야 했는데 당연히 저는 result 값을 받아 그 안에 insertId를 이용하였는데 수업에서는 MAX()와 LAST_INSERT_ID()라는 것을 이용할 수 있다는 것을 알려주셨습니다. 하지만 결국 이렇게 사용하게 되면 SQL 문을 한번 더 작성을 해야 하기 때문에 수업 중에도 InsertId를 이용하여 값을 이용하는 것을 보고 새로운 지식을 배운 것으로 만족하는 시간이 됐던 것 같습니다.
'프로그래머스 데브코스 > TIL' 카테고리의 다른 글
[Day 43] 웹 풀사이클 데브코스 TIL (0) | 2024.01.12 |
---|---|
[Day 42] 웹 풀사이클 데브코스 TIL (0) | 2024.01.10 |
[Day 40] 웹 풀사이클 데브코스 TIL (0) | 2024.01.08 |
[Day 39] 웹 풀사이클 데브코스 TIL (0) | 2024.01.05 |
[Day 38] 웹 풀사이클 데브코스 TIL (0) | 2024.01.05 |