1

はいはいはい、私はすでにこの問題についてインターネット全体を検索しました。Stackoverflow からでも、いくつかの結果が見つかりました。しかし、彼らのほとんどは、「データベースを自動ロードする必要があります」または「parent::__construct();」と言います。コードのような。私はそれらのほとんどすべてを試しました。まだ結果が出ていません。それはただ私を殺している。

「we」という名前のテーブルがあります。そこからデータを読み取るだけです。

モデル: application/models/we_model.php

 class We_model extends CI_Model {

    function __construct() {

        parent::__construct();
        $this->load->database();
    }

    public function get_all_we() {

        $query = $this->db->get('we');
        return $query->result();
    }
}

コントローラー: applicatoin/controllers/home.php

class Home extends CI_Controller {

    function __construct() {

        parent::__construct();
        $this->load->model('we_model');
    }

    public function index() {

        $data['we_lists'] = $this->we_model->get_all_we();
        $this->load->view('home_template_view', $data);
    }
}

自動ロード: application/config/autoload.php

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

スクリーンショット: エラーのスクリーンショット

Codeigniter 2.1.3、Wampserver 2.2e、PhpStorm 5.0.4 を使用しており、このチュートリアルに従っています。

更新:このフォーラム を読みました。彼は、エディターを Eclipse から Dreamweaver に切り替えた後、コードが機能したと述べました。そこで、IDE を PHPStorm から Sublime text 2 に変更しました。コードが機能するようになりました。説明できますか?

4

2 に答える 2

3

$this->load->database();モデルを呼び出す必要はありません

これをautoload.phpで使用するだけです:

$autoload['libraries'] = array('database', 'session');
于 2013-02-26T05:52:43.790 に答える
1

データベース ライブラリを自動ロードしていない場合 (そして正直なところ自動ロードする必要があります)、次の行を変更します。

$this->load->database();

$this->load->library('database');
于 2013-02-25T19:50:17.713 に答える