Model 升级到CodeIgniter 2.1,模型中多个数据库的使用现已中断

Model 升级到CodeIgniter 2.1,模型中多个数据库的使用现已中断,model,codeigniter-2,Model,Codeigniter 2,我最近升级到CodeIgniter 2.1。下面的模型代码machforms_model.php在我以前的CI安装中正常工作。我还确认了我的database.php文件与之前的安装相同,因此db配置不应该是问题的根源。我现在看到的错误消息是:致命错误:第24行models/machforms_model.php中的非对象上的成员函数查询调用,其中第24行是我的第一次查询尝试 machforms_model:php class machforms_model extends CI_Model {

我最近升级到CodeIgniter 2.1。下面的模型代码machforms_model.php在我以前的CI安装中正常工作。我还确认了我的database.php文件与之前的安装相同,因此db配置不应该是问题的根源。我现在看到的错误消息是:致命错误:第24行models/machforms_model.php中的非对象上的成员函数查询调用,其中第24行是我的第一次查询尝试

machforms_model:php
class machforms_model extends CI_Model 
{

    public function __construct() {
        parent::__construct();
        $CI =& get_instance();
        $CI->machformsdb = $this->load->database('machforms', TRUE);
        $this->machformsdb = $CI->machformsdb; 
    }


        function deauthorize_user($user_guid) {
        $sql = 'delete from ap_sessions where user_guid=?';
        $sql_result = $machformsdb->query($sql,array($user_guid));   // LINE 24     
    }
}
我不确定为什么会收到过载错误。如果其他外部文件/配置信息可能是罪魁祸首,请告知,我将相应发布

$machformsdb未在您的函数deauthorize_user中定义。您应该调用$this->machformsdb

此外:在您的构造函数中,$已经是CI_模型的一个实例,因此您不需要获取CodeIgniter单例实例。你可以写:

public function __construct() {
  parent::__construct();  
  $this->machformsdb = $this->load->database('machforms', TRUE);
}

非常感谢。我很好奇为什么我的代码在pre-2 CI中工作得如此草率?再次感谢!