【问题标题】:How to access model to query database from a helper function?如何从辅助函数访问模型以查询数据库?
【发布时间】:2011-01-01 07:10:05
【问题描述】:

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

$this->load->model('user_model');

请让我知道它在帮助文件中的等价物。任何形式的方法建议也值得赞赏。提前致谢。

【问题讨论】:

    标签: php database codeigniter model


    【解决方案1】:

    您将无法在帮助程序中使用 $this 访问您的 CI 实例,但 CI 有办法做到这一点 -

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

    $CI =& get_instance();
    

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

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

    最后像这样调用模型中的任何函数:

    $CI->model_name->function_name();
    

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

    【讨论】:

      【解决方案2】:

      没有那么多代码重复。我建议这种方法:

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

      【讨论】:

        猜你喜欢
        • 2014-06-16
        • 2022-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 2014-07-29
        • 2017-12-17
        • 2017-12-10
        相关资源
        最近更新 更多