CI 묻고 답하기

제목 상세에 목록이 존재하는 경우, 컨트롤러 / 모델 구성
카테고리 CI 2, 3
글쓴이 그동안 작성시각 2018/07/29 21:24:24
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13360   RSS

안녕하세요, 

중고차 목록을 클릭하면 나오는 중고차 상세 페이지를 구현하는 중인데요.

중고차 상세 내용 중에 수리이력 목록이 존재합니다. (수리이력 테이블 따로 존재)   

 

1. 중고차 상세 컨트롤러 함수는 아래와 같이 구성했는데 (여기까진 잘 나오는데;;)  

수리이력 함수는 따로 구성해야 할까요?  car_detail에 포함되는 걸까요?

public function car_detail() 

{

}

 

2. 중고차 상세 모델 쿼리에 수리이력도 포홤되야 하겠죠?

function car_detail($car_id)

{

}

 

혹시 , 수리이력 파일을 따로 만들어서 include 해야 하나요??

이런 케이스 개발이 처음이라 참고할 무언가가 있으면 좀 알려주시면 감사하겠습니다.

 다음글 CI BOARD 처음 설치할때 설정 질문이요 (3)
 이전글 DB join and union 질문 (4)

댓글

배강민 / 2018/07/30 08:08:03 / 추천 0

정답이란건 없습니다.

동기형태로 개발하고 싶으시다면 car_detail() 안에 수리이력을 뷰로 전달하기 위한 어싸인이 존재해야하는 것은 결론적으로 맞습니다. 단, 이렇더라도 수리이력은 별로 메서드로 빼서 car_detail()에서 호출해서 사용하거나 하는 방법도 있겠는데, 이는 개발자 성향이므로 답은 없습니다.

모델도 동일합니다. 한군데 같이 하던 따로 해서 컨트롤러에서 따로 부르던, 모델에서 다른 모델을 불러서 한번에 리턴을 하던 다 가능은 하지만 정답은 없습니다.

성능적으로도 체감할 수 없을 정도의 미비한 차이로 예측되므로 원하시는 데로 하면 됩니다. (정말 0.00x초라도 빨라야한다면 많인 고민이 필요하긴 합니다.)

하지만, 추천이랄 수 있는 지 모르겠지만, 상세 내용안의 수리이력이 비동기로 해도 된다면 Ajax로 비동기 통신하는 것이 상세 페이지 로딩 속도에 영향을 안주므로 좋지 않을까싶습니다.

하지만 이런 경우 상세페이지가 나온후 수리이력 Ajax 통신이 완료될때까지는 아무것도 안나오게 되겠죠. 그 시간만큼

로딩바를 넣는 사용자에게 도움을 얻는 방법도 있겠고, 

수리이력 Ajax가 끝날때까지 기다렸다가 페이지 자체가 보이게 할 수도 있겠지만, 이는 전체 속도에서는 동기로 처리하는 것보다 조금 늦느릴 수도 있긴 합니다.

어쨋든 첫 말씀과 동일하게 답은 없습니다. 본인의 결정 혹은 요청자의 결정이 되겠죵

변종원(웅파) / 2018/07/30 10:13:11 / 추천 0
재사용성 고려하면 상세내용과 수리내역 모델함수를 분리하는 것이 맞습니다.
그동안 / 2018/07/30 13:09:45 / 추천 0
두분 의견 감사드려요~ 의견주신대로 개발해보며 되겠네요^^