2

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

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

单独来说,它们工作得很好,我可以访问属性和方法,但是当我加载两个模型时,无论我如何加载它(自动加载、、),我都无法访问第二个$this->load->model('model_name')模型$this->load->model('model_name', 'object_name')

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

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

我试图改变顺序,第二次加载永远无法工作。我收到这条消息:

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

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

4

2 回答 2

4

请尝试以下方法...

 public function index()
{
    $this->load->model(array('membre','annonce'));
    $liste = $this->annonce->listerEspeces();
    $membre = $this->membre->obtenirMembre(1);
}
于 2013-01-13T18:03:22.313 回答
2

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

于 2013-01-13T19:50:56.570 回答