我正在使用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
。那么如何使分析器显示每个执行的查询,与哪个数据库无关?
答案 0 :(得分:4)
看到这个问题。这是一个更简单的解决方案。 How can I display my database queries in the Codeigniter Profiler when I load my databases in my models?
只需将数据库存储到主CI类,分析器就可以访问它们。
function __construct()
{
parent::__construct();
$CI =& get_instance();
if( is_null( $CI->Companies_db ) )
$CI->Companies_db =& $this->load->database( 'companies', TRUE, TRUE );
}
答案 1 :(得分:1)
我有类似的问题。我使用的是本地mysql数据库,还访问了远程Oracle数据库。 Oracle查询未在分析器中显示。
这篇文章帮助我解决了这个问题:
http://www.gotphp.com/codeigniter-multiple-database-support/5468/