THINKPHP使用自动表单变量更新数据表所存在的字段不全问题

来源:互联网 发布:网络中的涵化理论 编辑:程序博客网 时间:2024/05/17 08:50

还是那句话:目前不得不使用thinkphp来开发网站。

ThinkPHP发展这么些年,在网站开发方面还是有很多便利性的,文档也完整。但越来越感觉一个问题,使用ThinkPHP一旦遇到一些怪异的问题,很少能找到有效的解决答案。

下面就说一个例子:

在从表单更新一个数据表的时候,因为开发过程中给此数据表增加了新字段,结果此字段值无法写到数据表中,使用 var_dump()查看表单POST过去的变量,正常;使用var_dump()查看自动创建的表单变量,类似 $data=$TheObj->Create(); var_dump($data); 代码,却发现没有包含POST过来的新字段值。

然后就是排错,已经排除了所谓 “表单变量名与数据表中的字段名不一致”的问题。

在网上搜索了很久,所得到的最多的是官方的文档,都是入门般的教程,毫无用处。虽然可以用手动提取POST变量,手动创建save变量值的方法解决,但不解决这个怪问题,始终感觉不爽。最感到奇怪的是:难道就没有人遇到这个问题么?


因为ThinkPHP是国人自己写的框架,很多东西没有“道理”可讲,还是得搜解决方法,最后终于找到了,如下:

在开发过程中,更改了表字段名称,而缓存未及时更新,导致系统判断为无效字段而被 unset 掉。所以在更改了表字段名称之后,及时将 Runtime/Data 下的数据表缓存清除。


真是晕了!这么关键的问题,按道理讲,ThinkPHP应该作为重点置顶提出,可以其文档无只字片语。

最后,感谢那个总结此问题的人,其连接如下:

http://www.phpernote.com/php-template-framework/741.html

0 0
原创粉丝点击