数据库是oracle11g,一开始以为是oracle字段大小写问题导致的,后来把post索引全改大写,依然不好使,create返回空
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(); } }}
应该是的吧?
create 是从模型中建立自动验证
而模型你是怎么建立的?
对于 MySQL,TP 是使用 DESCRIBE 指令获取字段信息的
但 oracle 并没有 DESCRIBE 指令,那么 TP 还会替你完成吗?
应该是的吧?
create 是从模型中建立自动验证
而模型你是怎么建立的?
对于 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_columns col 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的bug吧。必须在模型里指定fields
主要是oracle没有DESCRIBE,所以TP实现不到,但又没有专门处理这个问题。
只能模型里指定fields解决。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号