ThinkPHP5实用的数据库操作方法持续更新
Posted shengxihui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP5实用的数据库操作方法持续更新相关的知识,希望对你有一定的参考价值。
1、update方法总结
/** * 设置记录的某个字段值 * 支持使用数据库字段和方法 * @access public * @param string|array $field 字段名 * @param mixed $value 字段值 * @return integer */ function setField($field, $value = ‘‘);
//设置某个字段的值,适用场景:适用于用户积分清零、余额清零等类似操作 Db::name(‘table‘)->where(‘id‘,1)->setField(‘field‘,0);
/** * 字段值(延迟)增长 * @access public * @param string $field 字段名 * @param integer $step 增长值 * @param integer $lazyTime 延时时间(s) * @return integer|true * @throws Exception */ public function setInc($field, $step = 1, $lazyTime = 0);
//自增某个字段的值,参数2不传时默认为自增1,适用场景:适用于用户积分增加、余额增加等类似操作,需要延时更新则传入第三个参数(单位秒), Db::name(‘table‘)->where(‘id‘,1)->setInc(‘field‘,2);
/** * 字段值(延迟)减少 * @access public * @param string $field 字段名 * @param integer $step 减少值 * @param integer $lazyTime 延时时间(s) * @return integer|true * @throws Exception */ public function setDec($field, $step = 1, $lazyTime = 0);
//自减某个字段的值,参数2不传时默认为自减1,适用场景:适用于用户积分扣除、余额扣除等类似操作,需要延时更新则传入第三个参数(单位秒), Db::name(‘table‘)->where(‘id‘,1)->setDec(‘field‘,2);
//自增或自减多个字段的值,raw方法内支持SQL函数,适用场景:适用于同时更新用户累计余额、当前余额等类似操作 Db::name(‘table‘)->where(‘id‘,1)->update([ ‘total_remain‘ => Db::raw("total_remain+100"), ‘remain‘ => Db::raw("remain+100"), ]);
以上是关于ThinkPHP5实用的数据库操作方法持续更新的主要内容,如果未能解决你的问题,请参考以下文章
安装mysql数据库中的技巧错误排查以及实用命令(持续更新)