一、thinkphp2.0的方法setInc、setDec(路径:thinkphp/lib/Think/Core/Model.class)时是这样写的:

public function setInc($field,$condition='',$step=1) {
       return $this->setField($field,array('exp',$field.'+'.$step),$condition);
//  return $this->setField($field,array('exp',''.$field.''.'+'.$step),$condition);
    }

public function setDec($field,$condition='',$step=1) {
        return $this->setField($field,array('exp',$field.'-'.$step),$condition);
    }

对于统计字段(通常指的是数字类型)的更新,setInc 和 setDec 方法使用方法如下:
$User = M( "User" ); // 实例化 User 对象
$User->setInc( 'score','id=5',3 ); // 用户的积分加 3
$User->setInc( 'score','id=5' ); // 用户的积分加 1
$User->setDec( 'score','id=5',5 ); // 用户的积分减 5
$User->setDec( 'score','id=5' ); // 用户的积分减 1

前一段时间我用上面的方法怎么用都不能实现自增和自减,后来不断调试总算找到解决方法,首先要将统计型字段的默认值设成'0'或是其他数字型,如果还不行的话就直接调用SetField方法,方法如下:

$info=new InfoModel();
$info->setField('count',array('exp','count'.'+'.'1'),'id=2');

二、ThinkPhp3.0有了新的改动,必须配合连贯操作where一起使用

$User = M("User"); // 实例化User对象
 $User->where('id=5')->setInc('score',3); // 用户的积分加3
 $User->where('id=5')->setInc('score'); // 用户的积分加1
 $User->where('id=5')->setDec('score',5); // 用户的积分减5
 $User->where('id=5')->setDec('score'); // 用户的积分减1

Thinkphp2.0 中setInc函数和SetDec函数总结相关推荐

  1. php setinc函数 加2,Thinkphp2.0 中setInc函数和SetDec函数总结

    一.thinkphp2.0的方法setInc.setDec(路径:thinkphp/lib/Think/Core/Model.class)时是这样写的: public function setInc( ...

  2. php中的setinc,thinkphp3.2.0中setInc方法的源码分析

    下面为大家分享一篇thinkphp3.2.0 setInc方法 源码全面解析,具有很好的参考价值,希望对大家有所帮助. 我们先来看一下setInc的官方示例: 需要一个字段和一个自增的值(默认为1) ...

  3. mysql有rollup函数_MySQL 聚合函数(二)Group By的修饰符——ROLLUP

    一.ROLLUP 修饰符的意义 GROUP BY子句允许添加WITH ROLLUP修饰符,该修饰符可以对分组后各组的某个列的结果值进行汇总,并在结果中输出,即提供更高一级的聚合操作. 因此,ROLLU ...

  4. pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)

    pandas将列表list插入到dataframe的单元格中.pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes) 目录

  5. 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...

  6. 关于VC++6.0中getline函数的一个bug

    关于VC++6.0中getline函数的一个bug 最近在调试程序时,发现getline函数在VC++6.0和其他编译器上运行结果不一样,比如有如下这段程序: #include <iostrea ...

  7. C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...

  8. C语言编程>第二十六周 ⑥ 请补充fun函数,该函数的功能是:按 “0”到 “9”统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。

    例题:请补充fun函数,该函数的功能是:按 "0"到 "9"统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中.注意:不能使用字符串库函数. ...

  9. 自定义函数fac1用递推方法求n!,自定义函数fac2用递归方法求n!,主函数中输入整数n(0≦n≦10)后,分别调用函数fac1和函数fac2求n!,最后输出调用的结果值进行对比。

    自定义函数fac1用递推方法求n!,自定义函数fac2用递归方法求n!,主函数中输入整数n(0≦n≦10)后,分别调用函数fac1和函数fac2求n!,最后输出调用的结果值进行对比. 参考运行截图: ...

最新文章

  1. bzoj 3100 排列
  2. 关于RESTful名字的含义
  3. 接口自动化测试的几个阶段
  4. 脑机接口可以控制机械臂
  5. windows 搭建python 虚拟环境 写程序_Windows下搭建Python虚拟环境
  6. 解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(12
  7. 王爽汇编语言 实验11
  8. Linux中强大的输入输出重定向和管道
  9. php-fpm 启动拥有者,php-fpm 的各种启动方式
  10. Angular v6 正式发布
  11. 重拾阅读--朝花夕拾啊
  12. 最全的Vue3.0新特性预览(翻译)
  13. 1. paip.discuz X2.5 积分(金钱)功能API总结
  14. Spring JDK动态代理详解
  15. 电压调整率和负载调整率 简单易懂
  16. 关于rand()和srand()
  17. python爬虫从入门到放弃,含案例分析,超详细讲解(一)
  18. ps快速去掉图中的字
  19. 风潮唱片-远方的寂静;专辑
  20. 牧场物语矿石镇的伙伴们详细攻略

热门文章

  1. Mysql进阶学习(三)排序查询与常见函数
  2. 过滤器和拦截器的执行顺序
  3. Windows系统中查看进程、及杀死进程的相关命令
  4. java 观察者模式利与弊分析
  5. VS Code Boxy Solarized Light 护眼配色方案
  6. Android电子手写签名
  7. 了解行业信息的数据渠道
  8. iOS 内存泄漏排查方法及原因分析
  9. 如何将一个apk文件转换成exe文件?
  10. C语言数字图像处理进阶---14 晕角滤镜