CI 묻고 답하기

제목 프로파일러 다른 db에 대한 것도 볼 수 있나요?
글쓴이 스크림 작성시각 2011/03/14 17:16:04
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 18998   RSS
db 쿼리 실행된 결론적인 쿼리 내용을 보기 위해

프로파일러를 많이 사용해왔는데요 이번에 개발하고 잇는 프로그램은 db를 여러개 접근해서

$config['db_debug'] = TRUE;
  $config['cache_on'] = FALSE;
  $config['cachedir'] = "";
  $config['char_set'] = "utf8";
  $config['dbcollat'] = "utf8_general_ci";
  
  return $CI->load->database($config, TRUE);

이런식으로다가 db 접근 하는것을 여러개 갖다 씁니다.

그래서

$this->db->블라 블라 뿐만 아니라.
$this->pdb->블라 블라 로 명명해서 사용하고 있기도 하고 한데

이런것들은 프로파일러에 안찍히네요.


전 제가 액티브레코드로 입력한 쿼리들이 잘 실행되고 있는지가 궁금한데..

알 수 있는 방법이 없을까요`?
 다음글 로컬PC에서 메일발송하려고 합니다. hmailServe... (1)
 이전글 [초보]ajax에 대한 기본적 지식 (8)

댓글

변종원(웅파) / 2011/03/14 17:26:37 / 추천 0
 프로파일러는 여러개 안나옵니다.

모델에서 원하시는 시점에 echo $this->db->last_query(); 넣으시면 됩니다.
쩌렁e / 2014/04/10 17:28:30 / 추천 0
 application/core에
 
MY_Model.php 만드시고(MY대신 다른이름가능함)
그곳에 아래 소스 넣어주시구요
 
class MY_Model extends CI_Model {
private $_database = NULL;
public function _set_database($_db_group) {
if($_db_group !== NULL) {
 
$this->_database = $this->load->database($_db_group, TRUE, TRUE);
$CI =& get_instance();
$CI->_database = $this->_database;
}
else {
 
if(!isset($this->db) or !is_object($this->db)) {
$this->load->database('', FALSE, TRUE);
}
$this->_database = $this->db;
}
 
return $this->_database;
}
}
 
넣으신 후에 ... 
 
모델에서 CI_Model 대신 MY_Model로 상속받으시고
 
$groupdb = $this->_set_database('db_group');
$groupdb->get('table'); 
이런식으로 하시면... 프로파일러에 나와요~