2011-07-05 45 views
1

假設我們有這樣的代碼:Codeigniter:如何獲取加載模型的(nother)句柄?

class My_controller extends CI_Controller 
{ 
    private $model_name; 

    function __construct($model_name) 
    { 
     $this->model_name = $model_name; 
    } 

    function index() 
    { 
     //Use the model here 
    } 
} 

我應該如何創建一個句柄模式,在指數函數中使用? 我的意思是我不知道模型的名稱,所以我應該如何訪問它?

- 編輯 -
通常情況下,我們會加載一個模型是這樣的:

$this->load->model('some_model'); 
$this->some_model->doSomething(); 

在這裏,我們知道該模型的名稱。

現在,假設My_Controller是一個類,其他一些控制器從中繼承。每個類從My_Controller繼承,設置$model_name屬性。這裏我們不知道模型的名稱,所以我們需要一個模型的句柄。應該如何檢索該句柄?

我希望這個澄清一下。

在此先感謝。

回答

1

您可以給模型一個別名。

$this->load->model($this->model_name, '', 'some_model'); 
$this->some_model->doSomething(); 
+0

正是我想要的!謝謝。 –