Codeigniter HMVC:模型中未定义的属性$ db

时间:2016-08-23 08:24:03

标签: php codeigniter-3 codeigniter-hmvc

以下是modules文件夹

中的文件夹结构
  1. 用户 - > controllers-> Users.php

    用户 - >模型 - > Test_model.php

  2. welcome-> controllers->的welcome.php

  3. Test_model.php

    class Test_model扩展了CI_Model {

     function __construct() {
        parent::__construct();
    }
    
    public function db_example()
    {
         return $this->db->get('mir_users')->result();
    }
    public function test(){
        echo 'test model call';
    }
    

    }

    并在 Welcome.php

    class Welcome extends MX_Controller {
    
        public function __construct()
        {
            parent::__construct();
            $this->load->model('users/test_model');
        }
        public function index()
        {
          //this will give the output   
          $this->test_model->test();
         //thiw will throw error
            $this->test_model->db_example();
        }
    

    $this->test_model->test()返回输出,但我会在db_example函数

    中收到错误
    Message: Undefined property: Test::$db
    

    autoload.php

    $autoload['libraries'] = array('database');
    

    我使用的是最新版本的HMVC

    Codeigniter版本:3.1.0

2 个答案:

答案 0 :(得分:1)

您已在自动加载中加载了两次数据库库,并在模型中注释了此模型

中的这一行
$this->load->database();

答案 1 :(得分:-1)

最后我找到了解决方案。问题不在于我的代码。这是HMVC版本。

对于codeigniter版本3.x,请使用此版本https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads?tab=branches

但是我使用了错误的版本。