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数据库中的技巧错误排查以及实用命令(持续更新)

安装mysql数据库中的技巧错误排查以及实用命令(持续更新)

thinkphp框架数据更新问题

OI实用工具 持续更新ing

Python刷题实用小tips集合(持续更新)

Mikrotik-routeros命令行操作(持续更新)