如何使用CodeIgniter在HMVC上加载模型?

时间:2012-03-23 16:53:09

标签: codeigniter module hmvc

我正在使用HMVC的库,我正在使用CI 2.1,我只是不能从基本的东西开始,当我作为模块工作时,有人能告诉我如何加载控制器的模型吗?

我阅读了这篇文档https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home,并创建了config / routes文件。

控制器:

class Testcase extends MX_Controller {
   function index()
   {
      echo "test1";
      $this->load->model('testcase/testcase_model');
      echo "test2";
   }
}

我使用“echo”来查看它失败的地方,因为它不会给我任何错误...所以,当我加载模块时,它根本不起作用,我也尝试过这种方式

$this->load->model('testcase_model',NULL,TRUE);

但仍未成功......

型号:

class Testcase_model extends MX_Model {
   function __construct(){  
      parent::__construct();  
   }    

   function testcase(){
      return "success";
   }
}

当我安装库时,我会复制第三方文件夹并在核心文件夹中。

有人能给我一些线索吗?

谢谢!

5 个答案:

答案 0 :(得分:6)

我没有注意到的MX_Model,只需扩展CI_Model。

答案 1 :(得分:4)

您可以使用

$this->load->model('YOUR_MODULE_FOLDER_NAME/MODEL_NAME');

加载外部模型。

答案 2 :(得分:1)

在HMVC中,您的文件/文件夹应具有以下结构:

application/modules/testcase
 controllers
  testcase
 models
  testcase_model
 views
  testcase_view

如果从模块控制器中加载模型,则应该像这样加载

$this->load->model('testcase/testcase_model','tm');

您也应该提供模块名称。如果没有,它将在application / models目录中查找。

答案 3 :(得分:0)

对于CI + HMVC,我负载加载模块:

$this->load->model('model_name');
$this->model_name->method($data);

答案 4 :(得分:0)

更新模块/ Testcase / models / Testcase_model。

class Testcase_model extends CI_Model {

  function __construct()
    {
        // Call the Model constructor
        parent::__construct();
        $this->load->database();
    }
   function get_login(){
     $query=$this->db->query("SELECT * FROM test");
     return $query;
   }

}

从模块控制器调用

$this->load->model('Testcase/Testcase_model');
$data['result']=$this->Testcase_model->get_login();

希望这有帮助:)