thinkphp6 数据库事务提交的几种方式

Db::startTrans();
            try {
                $res01 = Db::name('aa')->insert($ins);
                $res02 = Db::name('bb')->where('user_id',"$user_id")->save(['speed_card'=>Db::raw("speed_card + $nums")]);
                if($res01 && $res02){
                    //提交事务
                    Db::commit();
                    return $info;
                }else{
                    return false;
                }
            } catch (\Exception $e) {
                //回滚
                Db::rollback();
                return false;
            }

*******************************************************************

UserModel::startTrans();
        try {
            $res01 = Db::name('ceshi')->insert(['name'=>'dddd']);
            $res02 = UserModel::where('id','1')->update(['name'=>'1112']);
            if($res01 && $res02){
                //提交事务
                UserModel::commit();
                echo 111111111111;
            }else{
                echo 22222222222;
            }
            
        } catch (\Exception $e) {
            //回滚
            UserModel::rollback();
            echo 33333333333;
        }

*******************************************************************************

Db::startTrans();
        try {
            $res01 = Db::name('ceshi')->insert(['name'=>'dddd']);
            $res02 = false;
            if($res01 && $res02){
                //提交事务
                Db::commit();
                echo 111;
            }else{
                echo 222;
            }
        } catch (\Exception $e) {
            //回滚
            Db::rollback();
            echo 333;
        }

自行体会,哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ThinkPHP 6 中默认使用的是小写字母的表名。如果你想要将表名转换为大写字母,可以在配置文件 config/database.php 中的 'identifier_quote_character' 配置项中设置为 `"`,这样所有表名都将被转换为大写字母。 例如: ``` 'identifier_quote_character' => '"', ``` 但是强烈不建议使用大写字母命名表名,因为大多数数据库系统都是区分大小写的,容易造成命名空间的混淆,导致程序运行错误。 ### 回答2: 在ThinkPHP6中,数据库表名的转换可以通过配置文件进行设置,具体的配置项是`'db_table_name_convert'`。 首先,在`config/database.php`文件中,我们需要找到`'connections'`数组下的相应数据库连接配置项,例如`'mysql'`,然后在该配置项中加入`'db_table_name_convert'`这个配置项,如下所示: ```php 'mysql' => [ // ... 'db_table_name_convert' => true, // ... ], ``` 将`'db_table_name_convert'`设置为`true`,表示开启数据库表名转换功能。 默认情况下,ThinkPHP6会将数据库表名转换为小写字母,加上数据表前缀,并用下划线连接单词。但如果我们将`'db_table_name_convert'`设置为`true`,则可以将数据库表名转换为大写字母。 例如,有一个名为`user_info`的表,如果开启数据库表名转换功能后,它会被转换为`USER_INFO`。 总之,要将数据库表名转换为大写字母,只需要将ThinkPHP6中相应的数据库连接配置项中的`'db_table_name_convert'`设置为`true`即可。使用这种方式可以灵活控制数据库表名的大小写格式。 ### 回答3: 在ThinkPHP6中,数据库表名的转换为大写字母可以通过配置文件进行设置。具体步骤如下: 1. 打开项目目录下的`config`文件夹,找到`database.php`文件。 2. 打开`database.php`文件后,找到`'params'`数组中的`'table_name'`键,该键用于设置数据库表名的转换规则。 3. 默认情况下,`'table_name'`的值为空数组`[]`,表示不对数据库表名进行任何转换操作。可以在该数组中设置转换规则。 4. 要将数据库表名转换为大写字母,可以设置`'table_name'`的值为`['strtolower' => 'strtoupper']`。这里的`'strtolower'`和`'strtoupper'`是PHP内置的函数,分别用于将字符串转换为小写和大写。 5. 设置完成后,将`'database.php'`文件保存并关闭。 完成以上步骤后,在ThinkPHP6中使用数据库时,所有数据库表名都会被自动转换为大写字母。例如,数据库中的`user`表会被转换为`USER`。 需要注意的是,修改`database.php`配置文件后,需要重启项目才能生效。 以上就是将ThinkPHP6数据库表名转换为大写字母的方法,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅坞茶坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值