ThinkPHP有三个更新个别字段的值的函数,分别为setField、setInc、setDec。
setField,根据条件更新一个或多个字段的值。
//更新单个字段
$m-> where('id=5')->setField('name','splaybow');
//更新多个字段
$data = array('name'=>'splaybow','email'=>'splaybow@qq.com');
$m-> where('id=5')->setField($data);
setInc,设置某个字段的值自增,可以增加1,也可以增加指定数量。
//设置score字段,自增1
$m->where('id=5')->setInc('score');
//设置score字段,自增5
$m->where('id=5')->setInc('score', 5);
setDec,设置某个字段的值自减,可以减少1,也可以减少指定数量。
//设置score字段,自减1
$m->where('id=5')->setDec('score');
//设置score字段,自减5
$m->where('id=5')->setDec('score', 5);
最后,值得注意的是,setInc和setDec这两个函数,操作的字段应该都是数字类型的。
所有以上三个函数,如果操作成功,均返回受影响的行数,如果失败则返回false。