Codeigniter:如何获得一个(另一个)已加载模型的句柄


Codeigniter: How to obtain a(nother) handle to a loaded model?

假设我们有如下代码:

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属性。这里我们不知道模型的名称,所以我们需要一个模型的句柄。如何检索该句柄?

我希望这能澄清一点。

你可以给模型一个别名。

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