1

请原谅我在面向对象的 PHP Codeigniter 方面的初学者。我对$this->subquery->defaultDB()https://github.com/NTICompass/CodeIgniter-Subqueries中使用感到困惑?

$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。难道我做错了什么?谢谢你。

4

1 回答 1

0

我已经为其存储库创建了问题,作者说他将在几天内修复它。

如果您急于使用此代码,我有一个替代方案。我添加了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;
}
于 2012-11-29T05:35:48.340 回答