我希望這不是模糊的,我仍然是MVC-L框架概念的初學者。我正在創建一個Open-cart 1.5.1.3模塊,並且從我可以收集的內容中可以看出OC 1.5+會在您首次安裝模塊時自動從您的控制器中調用install()函數(如果您提供了安裝()函數)。我在遇到麻煩的地方是實際調用了一個函數(它創建了一個新的數據庫表),該函數位於我的控制器函數install()中的模型中。如何使用OpenCart模塊從控制器中的模型調用函數?
這裏是我的代碼已經:
控制器:TrademeXml
public function install() {
$this->load->model('model/TrademeXml');
// Create table to store TradeMe ID
$this->model_model_TradmeXml->createModuleTables();
}
型號:在安裝的過程中TradmeXml
public function createModuleTables() {
$query = $this->db->query("CREATE TABLE IF NOT EXISTS " . DB_PREFIX . "trademeID (tid INT(30), PRIMARY KEY(tid)");
}
安裝函數被調用模塊,但我得到以下錯誤:
致命錯誤:調用一個成員函數createModuleTables()中d的非對象:\ XAMPP \ htdocs中\存儲\管理員\控制器\模塊\ TrademeXml.php
所以你有你的trademexml模型位於'/ catalog/model/model/trademexml.php'? –
啊,不,它位於/admin/model/module/trademexml.php – JasonMortonNZ
可能重複的[調用一個非對象的成員函數](http://stackoverflow.com/questions/54566/call-to-一個成員函數上-A-非對象) –