10원짜리 팁. 액티브레코드 쿼리문 확인
액티브 레코드로 하다 보면 가끔 헷깔릴때가 있습니다
조건문이 생각과 다르게 나온다거나 하면 답답 하죠.
혹은 내가 쓴 조건이 정말 맞는지 궁금 할때가 있습니다.
아주 간단한 커스텀을 해봅시다.
system -> database -> DB_active_rec.php 를 엽니다.
//일단 해당 함수를 찾습니다.
public function get($table = '', $limit = null, $offset = null)
// 이렇게 추가 해줍시다.
public function get($table = '', $limit = null, $offset = null,$show_sql = null)
오호! 메뉴얼에서는
$this->db->get('table_name');
으로 알려줫는데 알고보니
2번째와 3번째는 limit 관련 이었네요.
2번째 인자가 없으면 자동으로 $this->db->limit(1000); 문을 갖다 붙이는 구조였습니다.
그 밑을 보시면 $sql = $this->_compile_select(); <- 쿼리문을 만들어 가져옵니다.
밑에다가
$sql = $this->_compile_select();
//밑에다가
if($show_sql === TRUE)
{
print_r($sql);
}
추가 하면 끝.
쿼리를 확인 하고 싶으시면
$this->db->get('table_name',null,null,true);
여기서 잠깐?!
$this->db->from('table_name');
$this->db->limit(2);
$this->db->get()>result_array();
이건 어떻게 하나요?
베리 이지.
$this->db->get(null,null,null,true)->result_array();
끗.
목마른자 알아서 우물을 파는 법이네요.
http://www.codeigniter-kr.org/user_guide_2.1.0/database/helpers.html
echo $this->db->last_query();