如何从辅助函数访问模型来查询数据库?

时间:2010-01-04 15:41:34

标签: php database codeigniter model

我正在尝试为我的php网站创建身份验证。我正在使用codeigniter框架。我将不得不在我网站的所有页面中验证会话。因此,为了避免代码重复,我计划在辅助函数中执行此操作。现在我的用户凭据是 在我的数据库中,我想访问模型以从帮助程序查询数据库 功能。在控制器类中,我可以使用

完成此操作
$this->load->model('user_model');

请在帮助文件中告诉我它的等效内容。任何形式的建议也值得赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:20)

您将无法使用$ this来帮助您在帮助程序中访问CI实例,但CI可以这样做 -

首先,您需要对CI实例的引用:

$CI =& get_instance();

然后,如果您需要加载模型,您可以这样做:

$CI->load->model('model_name');

最后调用模型中的任何函数,如下所示:

$CI->model_name->function_name();

基本上,使用$ CI代替$ this。希望有所帮助。

答案 1 :(得分:1)

重复的代码并不多。我建议采用这种方法:

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

    if ($this->auth->is_logged_in() !== TRUE) // "auth" is the authentication library
    {
        redirect('login');
    }
}