Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模型内的CodeIgniter调用方法?_Codeigniter - Fatal编程技术网

模型内的CodeIgniter调用方法?

模型内的CodeIgniter调用方法?,codeigniter,Codeigniter,我有以下代码: class Badge extends CI_Model { public function foo() { echo $this->bar('world'); } public function bar($word) { return $word; } } 但它总是在echo$this->bar('world')这一行给我一个错误是 调用未定义的方法(……) 您没有在控制器中加载模型: p

我有以下代码:

class Badge extends CI_Model
{
    public function foo()
    {
        echo $this->bar('world');
    }

    public function bar($word)
    {
        return $word;
    }
}
但它总是在
echo$this->bar('world')这一行给我一个错误

调用未定义的方法(……)


您没有在控制器中加载模型:

public function test()
{
    $this->load->model('badge');
    $this->badge->foo();
}
因为代码可以工作-我刚刚使用未编辑的模型进行了粘贴测试:

class Badge extends CI_Model
{
    public function foo()
    {
        echo $this->bar('world');
    }

    public function bar($word)
    {
        return $word;
    }
}
输出:

world

为了避免任何外部调用依赖性,您需要获取Codeigniter实例并通过该实例调用该方法

class Badge extends CI_Model
{
    public function foo()
    {   
        $CI =& get_instance();

        echo $CI->Badge->bar('world');
    }

    public function bar($word)
    {
        return $word;
    }
}

假设您正确加载模型并正确调用
foo()
,上面的代码就可以工作了。你确定你是吗?在哪里加载模型并调用
foo()
?这是您上面的实际代码,还是简化版本?如果它不是您的实际代码,请粘贴它。