seong
회사 정보 보기 본문
- 회사 정보보기 페이지
1. 테이블3개 조인
원래 쿼리문 INNER JOIN을 사용해서 DB를 가져왔다.
근데 여기서 NULL값이 하나라도 존재 하면 JOIN이 안되기 때문에 다른 아이디로 로그인을 해도 이전 로그인 정보와 같은 정보를 가져왔고, 제대로 출력이 되지 않았다.
계속 찾아보다가 팀원 중 한 명이 보고 OUTER JOIN을 사용하면 NULL이더라도 모두 가져올 수 있다고 했다.
이 부분을 LEFT OUTER JOIN문을 사용해 NULL이더라도 무조건 모두 가져오게 변경 해주었다.
그리고 DB에 앞으론 최대한 null이 없게 해주어야겠다. (null이 필요하면 tinyint로 0을 넣어주어 만들자)
2. 주소 보여줄 때 특정 단어 기준으로 나눠서 보여주어야한다 -> 조금의 공부 필요
처음엔 컨트롤러에서 Pattern함수를 사용해 배열로 가져오려고 했다 .
근데 View에 뿌려줄때 [1,2,3] 이렇게 있다면 0번지 index를 뿌려주려고 하니 "[1" 이렇게 출력이 되었다 .
View는 배열의 [] 까지 모두 String으로 인식했었다 .
그래서 DB에서 가져올때 부터 잘라서 가져오는 방법을 공부 해보기로 했다 .
다행히 찾아보니 특정 단어를 기준으로 잘라주는 쿼리함수가 있었다 .
- SUBSTRING_INDEX
ex) 사용해보기
사용할 DB더미 데이터
쿼리문
SUBSTRING_INDEX(company_address,',',1)
SUBSTRING_INDEX(company_address,',',2)
SUBSTRING_INDEX(company_address,',',3)
아래와 같이 출력된다. 하지만 지금 보여줘야 할 DB는 4444, 부산 북구, detail_address 모두 따로 보여줘야한다.
각각 보여주기 위해서 한번 더 감싸주었다.
SELECT company_id,
SUBSTRING_INDEX(SUBSTRING_INDEX(company_address,',',1),',',-1) AS
zonecode,
SUBSTRING_INDEX(SUBSTRING_INDEX(company_address,',',2),',',-1) AS
road_jibunAddr,
SUBSTRING_INDEX(SUBSTRING_INDEX(company_address,',',3),',',-1) AS
detail_address
FROM company
WHERE company_id = 1;
이대로 이제 View에 뿌려주기만 하면 된다!
3. 사진 파일 경로 가져와서 보여주는게 필요함 -> 공부
'이력관리사이트' 카테고리의 다른 글
채용 공고 등록 기능 (0) | 2022.10.22 |
---|---|
회사 정보 수정 하기 (1) | 2022.10.15 |
레디스 사용 - 도커 설치 (0) | 2022.10.11 |
미니프로젝트 (0) | 2022.10.06 |
이력서 관리 사이트 personalMain페이지 (0) | 2022.10.04 |