经常有需要对某个数据表的计数字段进行加减操作,我们来看下在ThinkPHP中的具体使用办法。
最简单的,使用下面方法对score自动加1:
M(\'User\')->where(\'id=5\')->setInc(\'score\');
当然,也可以加更多的积分:
M(\'User\')->where(\'id=5\')->setInc(\'score\',5);
当然也可以减1操作
M(\'User\')->where(\'id=5\')->setDec(\'score\');
setInc和setDec方法只能单独对一个字段进行操作,如果你的字段加减操作要和其他字段的更新一起的话,则需要采用表达式更新的方式了,例如:
$User = M(\'User\'); $User->id = 5; $User->nickname = \'ThinkPHP\'; $User->score = array(\'exp\',\'score+5\'); $User->save();
表示对id为5的用户数据进行昵称和积分修改操作。