0

我正在使用 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";
   }
}

当我安装库时,我复制了第三方文件夹和核心文件夹。

有人可以给我一些关于这个问题的线索吗?

谢谢!

4

5 回答 5

6

我知道没有 MX_Model,只需扩展 CI_Model。

于 2012-03-23T20:36:35.767 回答
4

您可以使用

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

加载您的外部模型。

于 2013-08-07T14:41:38.750 回答
1

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

application/modules/testcase
 controllers
  testcase
 models
  testcase_model
 views
  testcase_view

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

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

您还应该给出模块名称。如果不是,它将在 application/models 目录中查找。

于 2012-03-23T18:29:38.243 回答
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();

希望这有帮助:)

于 2014-09-22T07:08:12.223 回答
0

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

$this->load->model('model_name');
$this->model_name->method($data);
于 2012-03-23T21:54:22.630 回答