Sungtt

DB의 유저 프로필주소를 게시판에서 출력하기 본문

프로젝트/개인 프로젝트 [세모이]

DB의 유저 프로필주소를 게시판에서 출력하기

sungtt 2022. 5. 4. 00:58

우선 방식에 대해 고민하였다


- 게시판 테이블에 유저의 프로필 주소를 같이 저장하여 게시판에 출력하는 것

이러면 사용자가 이전에 사용하던 프로필 사진이 그대로 남아 사용자의 사용기록을 남겨둘 수 있다는 점은

좋은 방향이라 생각했다.

 

- 게시판 조회마다 두개의 테이블을 join 하여 게시판에 출력하는 것

이전에 작성한 게시글이더라도, 사용자가 프로필을 변경한다면, 변경한 프로필로 적용된다.


게시판을 봤을 때 게시물이 동일한 아이디, 다른 프로필로 지정되어있다면

사용자가 볼 때 같은 사용자임을 인지하기까지 시간이 불친절하다고 느꼈다.

그래서 join을 사용하여 항상 최신의 프로필을 보여주는 것으로 택했다.

 

 

각기 다른 테이블이 있다.

유저 정보가 담겨있는 유저테이블

게시판 정보가 담겨있는 게시판 테이블

 

게시판마다 각 유저의 프로필 사진을 띄워주기 위해선

join문을 사용해야 했다.

 

join을 사용하면 분리된 테이블 이어도 조건에 따라 각 테이블의 칼럼 값을 가져와 반환해준다.

 

아래는 내가 사용했던 필요한 칼럼의 값들만 SELCET 하며,

값이 같은 칼럼들이 교집합을 뽑아낸다.

  const joinQuery3 =
    "SELECT board_index, board_title, board_content, board_writer, profile, board_views, board_commentCount, board_like, board_date, board_likeList FROM board_table LEFT OUTER JOIN users ON board_table.board_writer = users.id;";

 

Comments