ThinkPHP 统计数据(数字字段)更新 setInc 与 setDec 方法,加减
web ThinkPHP 2017-03-28 3002 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6475851 2614 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

ThinkPHP 统计数据更新

ThinkPHP 内置了对统计数据(数字字段)的更新方法:

  1. setInc():将数字字段值增加
  2. setDec():将数字字段值减少

setInc()

ThinkPHP setInc() 方法将数字字段值增加。

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    $result = $Dao->where('uid = 2')->setInc('score',3);

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

上面例子执行的 SQL 语句为:

UPDATE user SET score=score+3 WHERE uid = 2

setInc() 方法中最后一个参数为数字字段增加的值,如果省略则默认增加 1 。

setDec()

ThinkPHP setDec() 方法将数字字段值减少。

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    $result = $Dao->where('uid = 2')->setDec('score',3);

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

上面例子执行的 SQL 语句为:

UPDATE user SET score=score-3 WHERE uid = 2

setDec() 方法中最后一个参数为数字字段减少的值,如果省略则默认减少 1 。

提示

在 ThinkPHP 3.0 版本中,setInc() 与 setDec() 方法取消了条件参数,因此必须配合 where 方法一起使用。setInc() 与 setDec() 方法也支持连贯操作,从而可以构造更加复杂的更新条件。

版权声明:本篇文章来源于网络。 来源链接

相关推荐
ThinkPHP 3.2.3 Runtime\Logs日志文件太多怎么关闭日志功能
ThinkPHP | 2019-11-05 6841
'LOG_RECORD' => false, // 默认不记录日志 'LOG_TYPE' => 'File', // 日志记录类型 默认为文件方式 'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR',// 允许记录的...
ThinkPHP3.2.3打印sql语句
ThinkPHP | 2018-12-29 5443
方法一 echo M()->getLastSql(); 方法二 echo M()->_sql();
评论:0条
评论加载中...
发表评论