首页 > Web开发 > 详细

thinkPHP使用中踩的坑,记录一下(不停更)

时间:2017-10-30 10:15:43      阅读:273      评论:0      收藏:0      [点我收藏+]

版本3.2.3

1、数据库操作中的连贯操作table(),在查询的时候可以切换表,但是在插入,更新的时候请不要使用。例如

D(‘user‘)->table(‘auth‘)->add($data);

操作会出问题,因为插入的时候会把非user表的字段删除

2.数据库操作的create(),如果使用了框架的自动验证功能,在create()时会验证字段的合法性,有时候我们会多次create,进行批量添加或者修改,这时候会出问题。查看源码,发现是因为里面的$error属性没有重置。设置Model的$patchValidate为true是一种办法,但是会导致返回的错误不再是一个字符串,而是数组,并且即使已经有不合法的字段了,还是会继续验证其他字段,解决办法是

//重写create方法,每次create,清空error
    public function create($data = ‘‘, $type = ‘‘)
    {
        $this->error = array();
        return parent::create($data, $type); // TODO: Change the autogenerated stub
    }

 

thinkPHP使用中踩的坑,记录一下(不停更)

原文:http://www.cnblogs.com/liaokaichang/p/7753079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!