0

アクティブなレコードとコードイグナイターを使用して、単純なフォームからデモ レコードを挿入しようとしています。

function create_httpPost()
{
   $data = array(
      'title' => $this->input->post('title'),
      'content' => $this->input->post('content')
   );

   $this->newsModel->createData($data); //error occures here
   $this->index();//aka redirectToAction
}

しかし、フォームを投稿した後、次のエラーが発生します

**メッセージ: 未定義のプロパティ: News::$newsModel

ファイル名: controllers/news.php 行番号: 29**

内部モデルにはこのメソッドがあります

function createData($data)
    {
        $this->db->insert('News', $data);
        return;
    }

私がここで間違っていることは何ですか?

4

3 に答える 3

2

CodeIgniter のドキュメントによると、モデル クラス名は大文字で始まり、残りの名前は小文字でなければなりません。

参照: http://ellislab.com/codeigniter/user-guide/general/models.html

モデルの解剖学というタイトルのセクション:

クラス名は、最初の文字を大文字にし、残りの名前を小文字にする必要があります... ファイル名は、クラス名の小文字バージョンになります。

あなたの場合、newsModelルールに違反しており、CodeIgniter 名パーサーはおそらくクラス (または関連する .php ファイル) を見つけられないためnewsModel、プロパティ (存在しない) と見なされます。

于 2013-05-16T20:47:23.963 に答える
-1

これは、CI2 のごく一般的な問題です。

この関数は ur モデルの 1 つに含まれている必要があります。

もしそうなら、そのことに注意してくださいu can't reference model from inside other model! 何らかの理由で。コントローラーにそれを処理させる必要があります

于 2013-05-16T21:06:10.120 に答える