2014-01-10 38 views
0

我試圖在這裏使用DRY原理,並試圖將我的模型分配給構造函數中的變量。在Codeigniter的類的構造函數中加載模型

下面的類在我的庫目錄中。

到目前爲止,我有這個...

class Cpd_handler 
{ 
    protected $dateHelper; 
    protected $userHelper; 
    protected $reportsModel; 
    protected $dataModel; 

    public function __construct() 
    { 
     $CI =& get_instance(); 
     $this->dateHelper = $CI->load->library('helpers/date_helper'); 
     $this->userHelper = $CI->load->library('helpers/user_helper'); 
     $this->reportsModel = $CI->load->model('cpd/Reports_model'); 
     $this->dataModel = $CI->load->model('Tp_data_model'); } 


    public function sectorOverview($data) 
    {  
     var_dump($this->dataModel); 
    } 

當我嘗試轉儲$this->dataModel它只是返回NULL

有人可以告訴我我做錯了什麼嗎?

謝謝!

回答

0

按照CI文檔

Loader, as the name suggests, is used to load elements. 
These elements can be libraries (classes) View files, Helpers, Models, or 
your own files 

因此,而不是分配這樣

$this->dataModel = $CI->load->model('Tp_data_model'); 

嘗試

$CI->load->model('Tp_data_model'); 
$this->dataModel = $CI->Tp_data_model; 
var_dump($this->dataModel); 

假設您在Tp_data_model類有一個名爲GET_DATA()的方法, 那麼你可以使用$this->dataModel->get_data()而不是$CI->Tp_data_model->get_data()

相關問題