denept 发表于 2017-3-7 11:07:43

求助:db类继承问题

继承类:
class MY_Auth_db extends CI_DB {

        public function __construct($config = array())
        {
      parent::__construct($config);
                $this->CI =& get_instance();
        }
       
    public function column()
    {       
            $result = parent::get();
      return $result;
    }
       
}


调用:

$this->CI->load->library('MY_Auth_db');

            $result = $this->CI->my_auth_db->select('*')->from('auth_access')
                                      ->column();

报错:
Type: ErrorMessage: Call to undefined method MY_Auth_db::_execute()Filename: D:\qampp\htdocs\base\system\database\DB_driver.php
不太明白父类的get()为什么会调子类的方法?

Hex 发表于 2017-3-7 11:47:13

CI 的数据库类原则上不能扩展,但是要想扩展的话,最好是通过扩展 loader 里的 database 方法来扩展 DB 类。至于这个问题,需要看看 DB_driver.php 里代码是如何写的,因为私有方法继承的类是无法访问的。
页: [1]
查看完整版本: 求助:db类继承问题