上一篇文章讲解“数据库查询构造器-添加数据”,本篇文章讲解“数据库查询构造器-更新数据”。
1. 更新数据
1)update——更新数据
新建Index控制器,并新建updata方法
预览:
注意:
1. update方法返回影响数据的条数,没修改任何数据返回0。
2)使用data方法配合update方法
修改Index控制器中的updata方法:
预览——更新前:
预览——更新后:
注意:
1. 如果update方法和data方法同时传入更新数据,则会进行合并。
3)更新数据中包含主键
如果数据中包含主键,则可省略where方法。
修改Index控制器中的updata方法:
预览——更新前:
预览——更新后:
4)使用SQL函数
修改Index控制器下的updata方法,使用SQL函数:
预览——更新前:
预览——更新后:
5)raw方法更新数据
V5.1.7+版本以后,支持使用raw方法进行数据更新,适合在数组更新的情况。
修改Index控制器下的updata方法:
预览——更新前:
预览——更新后:
2. 更新字段值
1)setField——更新字段
在Index控制器中,新建upvalue方法:
预览——更新前:
预览——更新后:
注意:
1. setField方法返回影响数据的条数,没修改任何数据字段返回0。
2)setInc / setDec——自增或自减
setInc/setDec方法自增或自减一个字段的值(如不加第二个参数,默认步长为1)。
修改Index控制器的upvalue方法,使用自增自减方法:
预览——更新前:
预览——更新后:
setInc/setDec支持延时更新,如果需要延时更新则传入第三个参数
修改Index控制器中upvalue方法:
预览——更新前:
预览——访问两次upvalue方法后:
注意:
1. setInc/setDec方法返回影响数据的条数,如果使用了延迟更新的话,可能会返回true。
2. ThinkPHP5.1.7版本setInc与setDec延迟有问题,第一次执行数据不变,第二次执行会将第一次执行的结果加上。
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“查询构造器-删除数据”
领取专属 10元无门槛券
私享最新 技术干货