2011-10-18 15 views
1

私はPyroCMSとCIをかなりの期間使用しており、本当にそれを愛しています。PyroCMS(CIベースのCMS)でdbforgeを使用する際のトラブル

私はphpMyAdminのようなものを使わなくても管理者がDBを管理できるDBモジュールを拡張しています。

ただし、私が作業できるのは、テーブルのフィールド値をブラウズすることだけです(つまり、 'SELECT * FROM' table_name ')。

もっと機能を追加したいが、dbforgeを正しく動作させることができないようだ。 dbforgeを使用してモジュールをアンインストールするので、ロードされていることがわかります。関数から関数を呼び出すときにもエラーは発生しません。

コントローラのコードの例です(dbforgeはすでにロードされています)。

public function drop($table_name) 
{ 
    $table_name = $this->uri->segment(4); 
    $this->dbforge->drop_table($table_name); 
    redirect('admin/database/tables'); 
} 

は、関数がこのURLから呼び出されるとしましょう:

.../admin/database/drop/table_name 

動作しているように見えます...が、代わりにそれだけで、テーブルの概要にリダイレクトします。

紛失しているものがありますか? [$ this-> dbforge-> drop_table($ table_name);]は常にテーブルを削除してはいけません(与えられた$ table_nameは有効です)?回避策として、EDIT

は、私が使用することができた:

public function drop($table_name) 
{ 
    $table_name = $this->uri->segment(4); 
    //$this->dbforge->drop_table($table_name); 
    $this->db->query("DROP TABLE ".$table_name); 
    redirect('admin/database/tables'); 
    return TRUE; 
} 

私は本当に、しかし...

+0

私はあなたの質問に答えました。 –

答えて

1

は、私はあなたが取得するかもしれないと思うDB鍛造を使用したいですPyroCMS 1.3.xのサイトプレフィックスで少し混乱しています。

デフォルトでは、コミュニティとプロフェッショナルのすべてのインストールでは、最初のサイトのすべてのテーブルのプレフィックスとしてdefault_が使用されます。あなたはプロフェッショナルを持っている場合は、新しいサイトを追加することができ、代わりのdefault_

このプレフィックスは、DBフォージで占めているwhatever_ので、あなたは、あなただけの削除でしょうdefault_blog削除したいときに、サイトの参照は次のようになります。

/管理/

また、なぜあなたは$ table_nameを引数として受け入れ、それをuriセグメントで上書きするのですか?

また、$ table_nameを引数として受け入れ、それをuriセグメントで上書きするのはなぜですか?

私はそこで何をしましたか? xD

public function drop($table_name) 
{ 
    $this->dbforge->drop_table($table_name); 
    redirect('admin/database/tables'); 
} 
+0

ええ、すでにパラメータとして渡されているときに、テーブル変数を第4番目のuriセグメントで上書きすることは無意味です。これはしばらく前に投稿されたので、私はそれについてnoobカードを手に入れました。<< – jiminikiz

関連する問題