如何从辅助函数访问模型以查询数据库?
Posted
技术标签:
【中文标题】如何从辅助函数访问模型以查询数据库?【英文标题】:How to access model to query database from a helper function? 【发布时间】:2011-01-01 07:10:05 【问题描述】:我正在尝试为我的 php 网站创建身份验证。我正在使用 codeigniter 框架。我将不得不在我网站的所有页面中验证会话。因此,为了避免代码重复,我计划在辅助函数中进行。现在我的用户凭据是 在我的数据库中,我想访问模型以从助手查询数据库 功能。在控制器类中,我会使用
$this->load->model('user_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');
【讨论】:
以上是关于如何从辅助函数访问模型以查询数据库?的主要内容,如果未能解决你的问题,请参考以下文章
我如何编写一个从 mongodb 查询的辅助函数,然后可以为任何 ejs 模板调用此函数