2

インターネットとスタックオーバーフローで検索しましたが、解決策が見つからないか、同じ問題ではありませんでした。

同じコントローラーと同じ関数に 2 つのモデルをロードする必要があります。1 つは「model_membre」で、もう 1 つは「model_annonce」です。クラス、ファイル、オブジェクトの名前です。

個々に、それらは非常にうまく機能し、プロパティとメソッドにアクセスできますが、2 つのモデルをロードしているときに、ロード方法に関係なく、2 番目のモデルにアクセスできません (自動ロード、、$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);
}

注文を変更しようとしましたが、2番目にロードされたものは機能しません。次のメッセージが表示されます。

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_Controller ではなく CI_Model を拡張する必要があります。これが問題の原因でした。

于 2013-01-13T19:50:56.570 に答える