从另一个模型加载和使用codeigniter模型

swvgeqrz  于 2022-12-07  发布在  其他
关注(0)|答案(5)|浏览(158)

各位程序员,使用codeigniter 1.7.3我可以从另一个模型的代码加载一个模型吗?我读了很多理论和实践的帖子,但没有一个给出最终的答案。
我有一个模型,其中有一个函数,我想在其中对另一个模型执行操作。代码如下:

1: $this->load->model('decision_model');
2: $this->decision_model->hello_decision();

线路1工作。线路2故障如下:
遇到PHP错误
严重程度:通知
消息:未定义的属性:客户模型::$决策模型
文件名:/account_model. php
我试过创建简单的哑模型,改变函数名,在加载模型时给它一个别名,等等...没有运气
所以,抛开理论不谈,这可行吗?
先谢谢你了。

mzaanser

mzaanser1#

您可以这样做:

class User_model extends Model
{
    function get_something()
    {
         $CI =& get_instance();
         $CI->load->model('profile_model');
         return $CI->profile_model->get_another_thing();
    }
}
rks48beu

rks48beu2#

在CI 2.0中,您可以直接从一个模型调用另一个模型。

cwxwcias

cwxwcias3#

试试这个:

$this->load->model('decision_model');
$CI =& get_instance();
$CI->decision_model->hello_decision();
3pmvbmvn

3pmvbmvn4#

您也可以加入private $_ci;类别变数,并在建构函式中初始化它。

public function __construct($input=null)
{
    $this->_ci =& get_instance();

    if ( $input != null && is_array($input) ) {
         $this->populate($input);
    }
}

然后,它将可用于您正在使用的任何函数,而无需到处使用get_instance()

0yg35tkg

0yg35tkg5#

我会创建一个CodeIgniter库,并让该库执行模型操作,然后将其返回到当前模型。

相关问题