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模型的删除数据


下一篇:ThinkPHP5使用jwt进行会话验证