ホームページ >バックエンド開発 >PHPチュートリアル >TP作成機能が無効です
データベースは oracle11g です。最初は Oracle フィールドのせいだと思いましたが、後で投稿インデックスをすべて大文字に変更しましたが、それでも機能しませんでした。
class TestAction extends Action{ function add(){ if(IS_POST){ $m=D('Test'); //post索引改大写 $_POST=array_change_key_case($_POST,CASE_UPPER); show_bug($_POST); $vo=$m->create(); //返回空数组 show_bug($vo); //返回false show_bug($m->add());//->add(); show_bug($m->_sql()); }else{ $this->display(); } }}
右?
作成とはモデルから自動検証を作成することです
モデルはどのように作成しましたか?
MySQL の場合、TP は DESCRIBE コマンドを使用してフィールド情報を取得します。
Oracle には DESCRIBE コマンドがないため、TP はそれを完了しますか?
ですよね?
作成とはモデルから自動検証を作成することです
モデルはどのように作成しましたか?
MySQL の場合、TP は DESCRIBE コマンドを使用してフィールド情報を取得します。
Oracle には DESCRIBE コマンドがないため、TP はそれを完了しますか?
現在の TP が MySQL 以外のデータベースをどの程度サポートしているかはわかりません
テーブルごとにテーブル構造ファイルを構築する必要があると言われています
show_bug($m- >_sql( )) 結果:
select a.column_name,data_type,decode(nullable,'Y',0,1) notnull,data_default,decode(a.column_name,b.column_name,1,0) pk from user_tab_columns a,( select column_name from user_constraints c,user_cons_columnscol where c.constraint_name=col.constraint_name and c.constraint_type='P'and c.table_name='TEST1') b where table_name='TEST1' and a.column_name=b .column_name(+ )
はフィールド情報を取得するために使用されます:
解決されました。これは TP のバグです。フィールド
はモデル内で指定する必要があります。主な理由は、Oracle には DESCRIBE がないため、TP を実装できないことですが、この問題には特に対処していません。
これは、モデル内でフィールドを指定することによってのみ解決できます。