웹 개발/Node.js - MySQL

9. MySQL JOIN - 글 상세보기 구현

코오올라 2021. 1. 15. 01:20

opentutorials 데이터베이스 안에는 author과 topic 테이블 두개가 있다.

topic 테이블은 author_id값으로, author 테이블은 id  값으로 서로 조인 할 수 있다.

 

topic테이블을 왼쪽에 두고 오른쪽에 author테이블을 나란히 붙인다.

이때 topic의 author_id 값과 author의 id값이 같다 라고 관계를 맺어주면 위에 표처럼 조인이 된다.

 

저렇게 조인을 하게되면 각 topic 마다 해당하는 author의 name을 가져와 사용할 수 있다.

그래서 해당 페이지를 클릭하면 상세 페이지에 해당하는 name을 출력할 수 있다.

34) 해당하는 페이지 목록 링크를 클릭했을때 보여지는 부분이다.

 

35) 리스트 목록을 보여주기 위해 topic 테이블 안에 컬럼들이 필요하다. 그래서 topic 테이블의 모든 데이터를 불러온다.

     46번 줄 template.list의 인자값으로 들어간다.

 

39) topic.author_id 값과 author.id의 값을 통해 조인한다. 그리고 그중 topic.id의 값이 열람하고자 하는 페이지의 쿼리스트링 id값인 페이지를 보여준다.

 

51) title과 description이 나오는 body 부분에 내용을 추가한다.

     join한 결과에서 name 값을 가져온다.

name 값이 밑에 추가되는것을 확인할 수 있다.