如何使用CodeIgniter在同一个控制器中加载两个模型?

时间:2013-01-13 15:40:04

标签: php codeigniter

我一直在互联网和stackoverflow上搜索,但我没有找到解决方案,或者它不是同一个问题。

我需要在同一个控制器中加载两个模型,并且在同一个函数中。一个是“model_membre”,另一个是“model_annonce”。它是类,文件和对象的名称。

单独地,它们工作得非常好,我可以访问属性和方法,但是当我加载这两个模型时,无论我如何加载它,我都无法访问第二个模型(autoload,{{1} },$this->load->model('model_name'))。

我简化为“测试”控制器,看看是不是我的代码的另一部分导致了问题:

$this->load->model('model_name', 'object_name')

我试图改变顺序,第二次加载永远不会起作用。我收到这条消息:

  

遇到PHP错误   严重性:注意   消息:未定义属性:Test :: $ annonce   文件名:controllers / test.php   行号:15

  

致命错误:在第15行的/homez.604/animalix/beta/application/controllers/test.php中调用非对象上的成员函数listerEspeces()

2 个答案:

答案 0 :(得分:4)

请尝试以下方式...

 public function index()
{
    $this->load->model(array('membre','annonce'));
    $liste = $this->annonce->listerEspeces();
    $membre = $this->membre->obtenirMembre(1);
}

答案 1 :(得分:2)

模型应该扩展CI_Model而不是CI_Controller!这是问题的根源。

相关问题