具有多个数据库连接的Codeigniter查询分析器
我正在使用codeigniter 2.0 ++或特定的3.0-dev。事情是我有多个数据库连接,并且分析器只显示来自默认连接$this->db
的查询。具有多个数据库连接的Codeigniter查询分析器
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
。那么如何让剖析器显示每个执行的查询,哪个数据库无关紧要?
看到这个问题。这是一个更简单的解决方案。 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);
}
我有类似的问题。我使用的是本地mysql数据库,并且还访问了远程Oracle数据库。 Oracle查询没有显示在分析器中。
这篇文章帮我解决这个问题:
http://www.gotphp.com/codeigniter-multiple-database-support/5468/
这里是修复此为笨的较新版本后的更新版本:http://www.gotphp.com/codeigniter-profiler-extended/54358/ – 2012-07-10 21:53:43
如果你运气好,没有进一步调整,这将工作完美无瑕。它是2.X兼容的。 – AeroCross 2012-09-09 01:24:28