ThinkPHP 模型方法 setInc() 和 setDec() 使用详解

释放双眼,带上耳机,听听看~!

对于数字字段的加减,可以直接使用 setInc() 与 setDec() 方法

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

setInc():将数字字段值增加

setDec():将数字字段值减少

setInc()

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

例子:

1
2
3
4
5
6
7
8
9
10
<?php
public function update() {
    header("Content-Type:text/html; charset=utf-8");
    $result = M("User")->where('uid = 2')->setInc('score', 3);
    if ($result !== false) {
        echo '数据更新成功!';
    else {
        echo '没更新任何数据!';
    }
}

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

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

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

 

setDec()

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

例子:

1
2
3
4
5
6
7
8
9
10
<?php
public function update() {
    header("Content-Type:text/html; charset=utf-8");
    $result = M("User")->where('uid = 2')->setDec('score', 3);
    if ($result !== false) {
        echo '数据更新成功!';
    else {
        echo '没更新任何数据!';
    }
}

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

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

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

 

提示

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

人已赞赏
thinkPHP

Thinkphp3.2.3定时任务

2020-11-12 14:52:45

微信小程序

小程序直播组件开发

2020-11-26 23:53:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索