我正在使用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";
}
}
当我安装库时,我会复制第三方文件夹并在核心文件夹中。
有人能给我一些线索吗?
谢谢!
答案 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();
希望这有帮助:)