0

私は Codeigniter を初めて使用し、使用しているバージョンは最新のCodeigniter v2.1.4です。

独自の Web ブログを作成するための開始点としていくつかの単純な CRUD を実行していますが、コントローラーで次のようなエラー メッセージが表示されます。

メッセージ: 未定義のプロパティ: Site::$site_model

コントローラ

function blog() {
        $data = array();
        $query = $this->site_model->get_records();

        if (isset($query)) {
            $data['records'] = $query;
        }

        $data['main_content'] = 'blog';
        $this->load->view('includes/template', $data);
    }

この行で文句を言っています$query = $this->site_model->get_records();

モデル

function get_records() {
        $query = $this->db->get('data');
        return $query->result();
    }

db ライブラリもロードされます。

$autoload['libraries'] = array('database');

私は何を間違っていますか?

4

1 に答える 1

1

load the modelその前に好きになる必要があります

$data = array();
$this->load->model('site_model');   //Here
$query = $this->site_model->get_records();

モデル関数を扱うときはいつでも、その前にモデルもロードする必要があることを確認してください。

Hashem Qolamiが言ったように、モデルを次のように自動ロードできます

$autoload['model'] = array('model1', 'model2'); 

しかし、私の意見では、すべてのモデルの自動読み込みによりパフォーマンスの問題が発生する可能性があります (よくわかりません) が、これは可能です。

于 2013-07-23T11:26:41.783 に答える