2011-12-06 10 views
1

内部で接続を開始する方法core/my_router.php? これを試してみると:CodeIgniter 2 my_router.phpデータベース接続

$this->db->query(); 

エラーを返します。

これを行うのが正しいのですか、それともCodeIgniterにこれを行う別の方法がありますか?私はフィールドテーブルの行の中にコントローラを持っており、それを復元して正しいコントローラをロードするためにクエリを実行する必要があります。

エラーがあります。Routerクラスは、CIインスタンスの前にロードされている非オブジェクト

+1

どのようなエラーメッセージが表示されますか? –

+1

非オブジェクトのメンバ関数query()を呼び出す方法 - > dbはコントローラディレクトリ内のコア/ diretorie内では有効ではないと思いますか? – David

答えて

3

上のメンバ関数のクエリ()へ コールは、あなたが$CI =& get_instance()$CI->db->query()を使用できない理由である可能です。 $this->db->query()と同様のメソッドを呼び出すことは、コントローラ、モデル、およびビュー内でのみ機能します(user guide参照)。

これはCodeIgniterフォーラムのスレッドですが、問題の解決策を提供していますが、これはバージョン1.7.2のフレームワークなので、多少変更する必要があります。コアファイルを編集することに注意してください。注意してください。

SOLUTION: Database Class/get_instance() in Router.php

+0

これは興味深いですが、それは奇妙に思えます、私は新人であると私は何か間違っていると思います。あなたはそうするでしょうか?私はルーターと他のすべてのドライバまたは同様のものを動作させることができるいくつかの汎用コントローラを作ることができますか? – David

+0

あなたは正確に何を達成しようとしていますか?ルーティングに関するユーザーガイドのセクションは、何らかの助けになるかもしれません。 http://codeigniter.com/user_guide/general/routing.html – birderic

関連する問題