Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트
- 로그파일저장
- TypeORMconfig.ts
- Live server
- get
- ormconfig.ts
- 좌석생성
- 좌석내가격
- 좌석만들기
- 테스트결제
- 캐시메모리저장후DB저장
- NEST좌석
- TypeORMconfig
- 포트원
- CRUD
- 네스트로거
- NEST좌석생성
- Til
- devcamp
- TYPESCRIPT좌석생성
- cachememory
- Nest
- 내일배움캠프
- Class Validation
- javascript
- Nest.js
- 카카오페이테스트결제
- joi vs classvalidation
- 캐시메모리DB저장
- nestwinston
Archives
- Today
- Total
배씨의 개발일지
좌석 만들기 - Mysql DB에 2차원 배열 저장하기 본문
기본적으로 2차원 배열은 Mysql에 저장이 되지 않는다.
그래서 로우 = x, 컬럼 =y 라고 명할때 boolean 값이 true이면
seatEntity안에 x, y 값과 함께 받아온 다른 정보들을 반환하고, seatEntity에 저장을 한다.
for (let y = 0; y < seats.length; y++) {
for (let x = 0; x < seats[y].length; x++) {
if (seats[y][x][2]) {
// 내부에 있는 좌석인지 확인 [2] 일 때 존재하는 좌석
// [2] 일 때 해당하는 좌석의 y,x의 값을 seatEntity에 값을 반환
const seatEntity = new Seats();
seatEntity.kind = data.kind;
seatEntity.price = data.price;
seatEntity.x = y;
seatEntity.y = x;
seatEntities.push(seatEntity);
}
}
}
const createdSeats = await this.seatRepository.save(seatEntities);
// 위 seatEntity에서 생성된 값들을 받아서 seatRepository에 저장
return createdSeats;
}
위 로직을 실행하면 이런식으로 저장이 된다.
해당 내용들을 보면 kind = 좌석의 종류, price = 가격, x = 로우, y =
컬럼 이런식으로 bool값이 True인 경우에만 저장이 되었다.
앞으로 남은 부분
false인 값들은 DB에 저장을 하지 않았다 ( 존재하지 않는 좌석들을 저장하는 경우 DB의 용량을 너무 많이 차지함 )
그래서 false인 값들은 없기 때문에 DB에서 x,y 값들을 다시 가져와서 2차원 배열로 뿌려주는
로직을 구현해야 프론트엔드에서 사용이 가능한 수준이 될 것 같다.
'TIL' 카테고리의 다른 글
팀 프로젝트 中 로그 데이터 처리 (0) | 2023.08.29 |
---|---|
NEST+TYPEORM 에서 트랜잭션 사용 (0) | 2023.08.28 |
좌석만들기 시작 - 2차원 배열 반환 값 받아오기 (1) | 2023.08.23 |
좌석 만들기 준비 - Nest.js 사용 2차원 배열 사용 준비 (0) | 2023.08.22 |
NEST.JS JWT와 GUARD 사용하기 (0) | 2023.08.21 |
Comments