TP 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解决。
推荐阅读
-
Oracle中重新编译无效的存储过程, 或函数、触发器等对象
-
SQL中函数 replace 的参数1的数据类型ntext无效的解决方法
-
PHP函数:stream_context_create()模拟POST/GET
-
PHP函数:stream_context_create()模拟POST/GET
-
PHP实用函数手册:stream_context_create()模拟POST/GET
-
PHP stream_context_create()函数的使用示例,createfile函数_PHP教程
-
急Tp的create方法有关问题
-
php tp验证表单与自动填充函数代码_PHP教程
-
MySQL 自定义函数CREATE FUNCTION示例
-
PHP实用函数:stream_context_create模拟POST/GET