首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在CodeIgniter中获取模型实例?

如何在CodeIgniter中获取模型实例?
EN

Stack Overflow用户
提问于 2018-07-14 06:29:39
回答 2查看 483关注 0票数 0

我想在CodeIgniter中的每个模型中传递一个公共变量。我正在寻找CI_Model instance,就像get_instance(),也就是CI_Controller

我正试图从我的控制器这样做:

代码语言:javascript
运行
复制
$ci_model = an_ci_model_instance();
$config['testvar'] = "Test Value";
$this->load->model($ci_model, '', $config);

我想从任何模型中访问testvar变量。如果这个问题有点模棱两可,我很抱歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-14 07:58:10

application/core/MY_Model.php中创建一个新文件

代码语言:javascript
运行
复制
class MY_Model extends CI_Model {
     public $somevar = 'foobar';
}

然后在application/models中的每个模型中做:

代码语言:javascript
运行
复制
class Some_model extends MY_Model {
    function dosomething() {
        echo $this->somevar;
    }
}

因此:

代码语言:javascript
运行
复制
$this->load->model('some_model');
$this->some_model->dosomething(); // prints 'foobar'

模型加载的第二个参数就是更改访问它的名称,第三个参数仅用于db配置。

您也可以这样做,只需用一个CI_Controller扩展MY_Controller,并且所有模型都可以访问变量,而不需要扩展MY_Model,但是在这种情况下,控制器必须扩展MY_Controller

票数 1
EN

Stack Overflow用户

发布于 2018-07-14 06:53:33

你有什么错误吗?PHP_ERROR什么时候开?

尝尝这个

CI_Base::get_instance();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51335905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档