2012-03-23 118 views
0

我正在使用HMVC的庫,我正在使用CI 2.1,並且我不能從基本的東西開始,有人可以告訴我如何在我作爲模塊工作時加載控制器的模型嗎?如何使用CodeIgniter在HMVC上加載模型?

我看了這篇文檔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"; 
    } 
} 

我用了「回聲」,看看它失敗,因爲它不返回我任何錯誤......所以,當我加載模塊,它根本不工作中,我也嘗試過這種方式

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

,但仍然沒有成功...

型號:

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

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

當我安裝庫時,我將第三方文件夾複製到核心文件夾中。

有人可以給我一些線索,這個問題?

謝謝!

+0

的HMVC的版本是5.4 – jpganz18 2012-03-23 17:35:39

+0

什麼是你模塊的文件夾結構?對我來說,它看起來很好..可能是它沒有得到加載類的正確路徑。 – Broncha 2012-03-23 18:05:24

+0

結構是application/modules/testcase/controllers/testcase models/testcase_model和views/testcase_view – jpganz18 2012-03-23 18:24:43

回答

6

我沒有注意到MX_Model,只是擴展了CI_Model。

+0

是的,你是完全正確的,那是問題所在,謝謝! – jpganz18 2012-03-24 21:22:22

0

在HMVC文件/文件夾應該有以下結構:

application/modules/testcase 
controllers 
    testcase 
models 
    testcase_model 
views 
    testcase_view 

如果你是從你的模塊控制器中加載模型,你應該加載像這樣

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

你應該給模塊名稱也是如此。如果沒有,它會在應用程序/模型目錄中查找。

+0

謝謝,結構是一樣的.. 。我嘗試命名控制器..仍然沒有工作......我應該在版本5.4中配置額外的東西嗎? – jpganz18 2012-03-23 18:37:30

0

對於CI + HMVC予加載的加載模塊此:

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

可以使用

$這 - >負載>模型( 'YOUR_MODULE_FOLDER_NAME/MODEL_NAME'); 加載你的外部模型。

問候,

的NiMesh Parekh的

0

更新模塊/測試用例/模型/ 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(); 

希望這有助於:)