$ this-> load-> model('foo_model');实际上在codeigniter?

时间:2012-11-02 05:35:01

标签: php codeigniter

控制器是否扩展了foo_model,或者只是我们正在加载整个模型?

如果正在加载,我该如何为model(foo_model)类创建一个合适的对象..

因为我使用了像$obj = new foo_model();

这样的东西

我的模型类看起来像这样:

class foo_model extends CI_model{
public $model_variable;

function foo_model(){
    parent::__construct();

    $this->$model_variable = $this->db->query('mysql query returning array of values')->result();

}

}

我的控制器就像这样

class foo1_controller extends CI_controller{

public function foo1_controller()
{
    //loading basic libraries and helper fn.
}

public function some_controllerfn()
{
    $this->load->model('foo_model');
    $foo_details = new foo_model();
    //print $foo_details as objects
}

}

我面临的问题是 当我使用控制器功能时,模型被调用两次 我还希望$ foo_details作为对象返回。 什么是这样做的正确方法,任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

model的{​​{1}}方法将为传递的模型名称实例化模型对象。

如果传递了Loader个模型名称,它将递归调用该函数。它将从允许的路径列表中加载模型文件,然后实例化模型对象并将其分配给控制器中同名的成员变量。