CI 묻고 답하기

제목 모델에서 1차쿼리 결과 값을 이후 2차 함수의 쿼리 함수에 전달 방법이 있을까요 ?
카테고리 CI 2, 3
글쓴이 testting 작성시각 2018/12/27 09:22:42
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13024   RSS

CI 를 시작한지 얼마 않된 초보자로써 이런 방법이 있을까 해서 문의 합니다. 

궁국적인 목적은 view 에 여러 테이블에서 나온값을 출력 하는데 그것을 join 모델에서 쿼리문 짜지 않고

따로 따로 불러서 쿼리 함수를 통해 모아서 한번에 view 에 출력하고 싶어서 입니다. 

 

function getbasic1($params1)  {

$query = $this->db->get_where('test1', array('id' => $params1));          return $query->row_array();

}

 

function getbasic2($test1[id])

{

$params2 = $test1[id] ;

$query = $this->db->get_where('test2', array('name' => $params2));          return $query->row_array();

}

 

혹 모델에서 않된다면 컨트롤에서라도 모델에서 나온결과 값을 컨트롤에서 받을수 있으면 좋을듯 합니다. 

읽어주셔서 감사합니다.

 다음글 반복문 안에서 계속 쿼리를 걸어야 할 때 (4)
 이전글 초보 개발자 질문합니다. include 관련 (5)

댓글

kaido / 2018/12/27 09:34:05 / 추천 1

쉽게 생각 하세요 ㅎㅎ

지금 만드신 방법은 그냥 모델에서 메소드 2개 만드신거 뿐입니다.

파라메터 인자 값 2개 넘기면 메소드 1개로 만들수 있습니다.

 

//model
function getbasic($params1, $from)  {

$query = $this->db->get_where($from, array('id' => $params1));          return $query->row_array();

}

//controller
$data = getbasic($params1, 'test1');
if($data){
$data2 = getbasic($data['id'], 'test2');
}

 

 

자바쪽에서는 basic 같은 이름으로 클래스 하나 만들어서 디스패쳐이든 라우터이든 전부 상속 받아가게 만드는 경우가 있습니다.

일종에 공통 함수 라이브러리 사용하듯이요.

sql 간단한 select 이나 join update 등은 미리 만들어 놓고 사용하기도 합니다.

물론 단순 프로그래머의 코딩 스타일이며 개인 취향에 더 가깝습니다 ㅎㅎ

testting / 2018/12/27 10:10:28 / 추천 0

아 !! 

고민 해결 

감사합니다.