2013-03-31 65 views
0

我使用下面從控制器調用從模型的方法,但接收和錯誤:笨方法錯誤

//from the controller:(main.php) 

<?php 
class Main extends CI_Controller { 

    public function __construct() { 
    parent::__construct(); 
    } 

    function index() { 
    ..... 
    $this->load->view('view_form'); 

    }//END Fn index() 

    function get_th() { 

    //$the=$this->input->post('th', TRUE); 
    $d['shit']=$this->model_data->tst(); 
    $this->load->view('view_form',$d); 

    }//END Fn get_th() 

}//END Cls Main 
?> 

//from the model:(model_data.php) 
<?php 
class Model_data extends CI_Model { 

    function slider() { 
... 
    }//END Fn slider() 

    function check_input($data) { 
... 
    }//END Fn check_input() 

    function tst() { 
     $tsts= "hellos"; 
     return $this->tsts; 
    } 

}//END Cls model_data 
?> 

$自動加載[「模型」] =陣列(「model_data」);

錯誤: 致命錯誤:調用未定義的方法Model_data :: TST()在...應用\控制器\ main.php ...

+0

你可以發佈模型和控制器的整個代碼嗎?我會先檢查( 1)加載模型model_data和(2)在類定義中拼寫。 –

+0

即代碼: [link] http://pastebin.com/hqAzA5x1 [/ link] – gd77

回答

0

我想你忘了加載模型控制器。

$this->load->model('Model_name'); 

function get_th() { 

    $this->load->model('model_data'); 
    $d['shit']=$this->model_data->tst(); 
    $this->load->view('view_form',$d); 

    } 
+0

autoloaded: $ autoload ['model'] = array('model_data'); [鏈接] http:www./pastebin.com/hqAzA5x1 [/鏈接] – gd77

+0

提到這一點相同,因爲你的問題看起來像模型沒有加載在你的代碼http://stackoverflow.com/questions/10523062/code-igniter -all-method-inside-a-model – pramodhkumar

+0

你看過pastebin.com鏈接嗎? – gd77

0

修正:/可不敢相信我有一個額外的支架,在一個長的文件:(跆拳道

「}」 <的結束 - 這是問題

如BTW我說@pramodhkumar使用autoload.php ..我有模型自動加載,所以不需要$ this-> load - > ...