2012-11-28 3 views
1

PHP를 사용하는 초보자를위한 Codeigniter입니다. $this->subquery->defaultDB()https://github.com/NTICompass/CodeIgniter-Subqueries에 사용하는 것에 대해 혼란 스럽습니까?NTICompass에서 다른 데이터베이스 사용하기 CodeIgniter 서브 쿼리

$db2 = $this->load->database('db2', TRUE); 

$this->load->library('Subquery'); 
$this->subquery->defaultDB($db2) 
$sub = $this->subquery->start_subquery('select'); 
$sub->select('number')->from('numbers')->where('numberID', 2); 
$this->subquery->end_subquery('number'); 

$query = $db2->get('mytable'); 

하위 쿼리는 여전히 db2가 아닌 기본 데이터베이스를 사용합니다. 내가 뭔가 잘못하고 있는거야? 고맙습니다.

답변

0

나는 그 저장소에 issue을 만들었으며 저자는 며칠 후에 그것을 고칠 것이라고 말했다.

이 코드를 사용하는 경우에는 대안이 있습니다. 하위 쿼리에 사용할 매개 변수 defaultDB을 추가합니다. 희망이 도움이됩니다. 건배!

function start_subquery($statement, $join_type='', $join_on=1, $defaultDB=''){ 
    $db = $this->CI->load->database($defaultDB, true); 
    $this->dbStack[] = $db; 
    $this->statement[] = $statement; 
    if(strtolower($statement) == 'join'){ 
     $this->join_type[] = $join_type; 
     $this->join_on[] = $join_on; 
    } 
    return $db; 
} 
관련 문제