CI 묻고 답하기

제목 model - control -view query 문 출력
글쓴이 이지포토 작성시각 2012/11/22 20:28:34
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 22533   RSS



모델단에서 컨트롤단으로 배열로 값을 건네주고 그 값을 뷰단에 던저 주는데

4개열중에 특정 컬럼 밸류값을 컨트롤 부분에 건네 주지 못하네요.

그러나 분명 컨트롤단 혹은 모델단에서 $this->db->last_query(); 실행히에 나오는 query 문으로

sql문으로 조회하면 전부 다 나옵니다.

왜 이런 현상이 일어나는지 모르겠네요.

 

 다음글 hmvc 경로 설정? (5)
 이전글 데이터베이스 클래스에 데이터베이스를 선택하는 기능이 있... (5)

댓글

변종원(웅파) / 2012/11/22 21:18:58 / 추천 0
쿼리결과생성함수는 어떤거 쓰셨나요? row() result()?
이지포토 / 2012/11/23 10:38:45 / 추천 0

웅파님 매번 답변 감사 합니다.

    function kcWorkBookSWLists($iwmIdx, $iamIdx, $qarea)
    {
        $this->db->select('iw.*, ia.qAnswer as answer, ia.qFilename as ansfilename, ia.qTypeCode, ia.qCorrectScore');
        $this->db->select('dw.uFileName as dw_filename, dw.uJimoon as dw_jimoon, iqm.qQuestion as dcontent'); //디렉션
        $this->db->select('iq.qContent as qcontent, qw.uFileName as qw_filename, qw.uJimoon as qw_jimoon, qi.uFileName as qi_filename'); //문항
        $this->db->select('ic.code as qtcode, iqm.qJimoon as qmjimoon, iq.qCorrect as qcorrect, iq.qcorrectpoint');
        $this->db->select('iq.qWordCount, ia.spSubScore, ia.wrSubScore, icclass.code as classCode, iqm.qClasss');
        $this->db->select($iamIdx.' as iamIdx', false);
       
        $this->db->from('ibtworkbook iw');
        $this->db->join('ibtanswer ia', 'ia.qNo=iw.wbNo and ia.iamIdx='.$iamIdx, 'LEFT');
        $this->db->join('ibtquestion iq', 'iq.iqmIdx=iw.iqmIdx and iq.qNo=iw.qNo', 'LEFT');
        $this->db->join('ibtquestionmaster iqm', 'iqm.iqmIdx=iq.iqmIdx', false);
        $this->db->join('ibtquestiontype iqt', 'iqt.iqtIdx=iqm.iqtIdx', false);
        $this->db->join('ibtcode ic', 'ic.icIdx=iqt.qType', 'LEFT');
        $this->db->join('ibtwaves dw', 'dw.iwIdx=iqm.diwIdx', 'LEFT');
        $this->db->join('ibtwaves qw', 'qw.iwIdx=iq.iwIdx', 'LEFT');
        $this->db->join('ibtimages qi', 'qi.iiIdx=iq.iiIdx', 'LEFT');
        $this->db->join('ibtcode icclass', 'icclass.icIdx=iqm.qClasss', 'LEFT');
        $this->db->where('iw.iwmIdx', $iwmIdx);
        $this->db->where('iw.qArea', $qarea);

        $this->db->order_by('iw.wbNo ASC');
  $rlt = $this->db->get();
  // echo $this->db->last_query() . "<BR><BR>";

        return $rlt->result_array();
    }
 

이지포토 / 2012/11/23 10:56:26 / 추천 0

라스트쿼리한것을 직접 sql 문으로 돌려보면 첨부와 같이 4 개의 row 가 나옵니다. 이중에 박스부분은 var_dump 로 찍어보면 안나옵니다.

이지포토 / 2012/11/23 10:58:27 / 추천 0

dump 로 찍으면 아래와 같습니다.
Array
(
    [0] => Array
        ( ...
            [ansfilename] =>  미 출력되는 부분
            [iamIdx] => 2018
        )

    [1] => Array
        (...
            [ansfilename] => 미출력되는 부분
            [iamIdx] => 2018
        )

    [2] => Array
        (...
            [ansfilename] => michigansteph013_u-neat_KY12J2000035_35.mp3
            [iamIdx] => 2018
        )

    [3] => Array
        (...
            [ansfilename] => michigansteph013_u-neat_KY12J2000035_36.mp3
            [iamIdx] => 2018
        )

)

변종원(웅파) / 2012/11/23 11:02:44 / 추천 0

특별히 $this->db->join('ibtquestionmaster iqm', 'iqm.iqmIdx=iq.iqmIdx', false); 이렇게 하신 이유가 있을까요?

join의 세번째 파라미터에 false는 없습니다. 세번째 파라미터를 빼고 해보세요.

이지포토 / 2012/11/23 11:41:04 / 추천 0

웅파님 빠른 답변 정말 감사 합니다. 늘 행복하세요.