4

我正在使用 codeigniter 2.0++ 或特别是 3.0-dev。问题是我有多个数据库连接,而探查器只显示来自默认连接的查询$this->db

class table_m extends CI_Model
{

    function __construct()
    {
        parent :: __construct(); 
        $this->db2 = $this->load->database('production', TRUE);
    }

    function sel_pameran($ukmper=NULL)
    {
        $sql = "SELECT * from table1";

        $query = $this->db2->query($sql);
        return $query->result();
    }
}

此查询不会显示在分析器中,因为它使用$this->db2. 那么如何让分析器显示每个执行的查询,不管来自哪个数据库?

4

2 回答 2

4

看到这个问题。这是一个更简单的解决方案当我在模型中加载数据库时,如何在 Codeigniter Profiler 中显示我的数据库查询?

只需将数据库存储到主 CI 类,分析器就可以访问它们。

function __construct()
{

    parent::__construct();

    $CI =& get_instance();
    if( is_null( $CI->Companies_db ) )
        $CI->Companies_db =& $this->load->database( 'companies', TRUE, TRUE );          

}
于 2012-07-11T16:20:43.757 回答
1

我有一个类似的问题。我正在使用本地 mysql 数据库并访问远程 Oracle 数据库。Oracle 查询未显示在探查器中。

这篇文章帮助我解决了这个问题:

http://www.gotphp.com/codeigniter-multiple-database-support/5468/

于 2012-05-07T02:01:28.650 回答