入门客AI创业平台(我带你入门,你带我飞行)
博文笔记
  • 当前位置:
  • 入门客AI创业平台
  • >
  • 博文笔记
  • >
  • thinkphp 在数据库更新(save)的时候,如果字段没有被修改,会更新失败 和数据的自动验证,插入的时候可以自动验证,但更新的时候就不能验证了

thinkphp 在数据库更新(save)的时候,如果字段没有被修改,会更新失败 和数据的自动验证,插入的时候可以自动验证,但更新的时候就不能验证了

创建时间:2015-05-30 投稿人: 浏览次数:3080

最近在研究thinphp遇到些问题

1,thinkphp  在数据库更新(save)的时候,如果字段没有被修改,会更新失败

           原因如下:首先应该知道thinkphp中的save()方法是用来更新数据的,save方法正常执行时返回的是影响记录的行数,出错的时候返回false

                                当未修改时影响的记录行数为0,所以0和false代表的意思是不同的,尽管他们都是代表假,所以在判断是否修改成功的时候不能用

                                 if(xxx->save())而要使用if(xxx->save!==false)从而判断值和类型是否和false匹配

2,数据的自动验证,出现的问题是插入的时候可以自动验证,但更新的时候就不能验证了

        代码如下:注:(我验证的是tagname字段)

   protected $_validate = array(
             array("tagname","require","标签名不能为空!"),
             array("tagname","","标签名称已经存在!",0,"unique",1),
         );

问题就出在这个1(验证时间上了)查了手册才知道

验证时间(可选)
  • self::MODEL_INSERT或者1新增数据时候验证
  • self::MODEL_UPDATE或者2编辑数据时候验证
  • self::MODEL_BOTH或者3全部情况下验证(默认)
1只代表的是新增时自动验证

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像