thinkphp6实现setInc和setDec自增自减效果

在thinkphp6版本中已经去掉了setInc和setDec自增自减效果,但在功能开发这两个功能相对也是使用较为频繁的效果。

那么thinkphp6中关于指定字段的自增、自减,我们要如何实现呢?

一、thinkphp6自增自减

//id为1的数据look字段自增1
Db::table('表名') ->where('id', 1) ->inc('look') ->update();
//id为1的数据look字段自增6
Db::table('表名') ->where('id', 1) ->inc('look',6) ->update();
//id为1的数据look字段自减1
Db::table('表名') ->where('id', 1) ->dec('look') ->update();
//id为1的数据look字段自减6
Db::table('表名') ->where('id', 1) ->dec('look',6) ->update();

注:inc或dec方法第二个字段为指定自增或自减的长度,如果不设置则默认为每次自增或自减1.

二、thinkphp5自增自减

//id为1的数据look字段自增1
Db::table('表名') ->where('id', 1) ->setInc('look');
//id为1的数据look字段自增6
Db::table('表名') ->where('id', 1) ->setInc('look',6);
//id为1的数据look字段自减1
Db::table('表名') ->where('id', 1) ->setDec('look');
//id为1的数据look字段自减6
Db::table('表名') ->where('id', 1) ->setDec('look',6);

三、执行后的SQL语句为

UPDATE 表名 SET look=look+1 WHERE id = 1
UPDATE 表名 SET look=look+6 WHERE id = 1
UPDATE 表名 SET look=look-1 WHERE id = 1
UPDATE 表名 SET look=look-6 WHERE id = 1

四、thinkphp5中setInc和setDec接收三个参数:

    setInc语法:setInc(字段名称,步长值,延时秒数)

    setDec语法:setDec(字段名称,步长值,延时秒数)

    参数1:字段名称(数值或日期时间型)

    参数2:步长值(整形,默认为1,可为负值)

    参数3:延时秒数(整形,必须正值)

以上就是thinkphp5和thinkphp6两个版本中关于表内指定数据、指定字段的自增、自减效果。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!