Codeigniter从另一个模型调用模型方法会导致错误

时间:2015-03-24 10:59:56

标签: php function codeigniter model controller

我有一个控制器:

class Blah extends Controller
{
     function Blah()
      {
        $this->load->model('baga_model');
      }
}
然后是baga_model:

 class Baga_model extends Model
    {
      function do_it()
       {
         echo "BOOM!";
       }
    }

..和

class Blah_model extends Model
        {
          function some_action()
           {
             $this->baga_model->do_it();
           }
        }

所以..当在 blah_model 时,我打电话给 $ this-> baga_model-> do_it()我收到一个错误: 在非对象

上调用成员函数do_it()

我无法理解为什么......我知道它必须有效,我之前做过类似的事情...... 感谢

2 个答案:

答案 0 :(得分:1)

知道了!我必须在baga_model构造函数中加载blah_model。这样就行了。

谢谢大家。

答案 1 :(得分:0)

public function test()
    {
        $this->load->model('baga_model');
        $this->baga_model->do_it();
    }

模型

class baga_model extends CI_Model
{
    public function do_it()
   {
     echo $this->bar("BOOM!");
   }

您未在模型中加载所需的模型:

 class Blah_model extends CI_Model
    {
$this->baga_model = $this->load->model('baga_model', true);
        public function some_action()
       {
         $this->baga_model->do_it();
       }
    }