Hyperf 框架跨庫事務

hyperf/database 衍生於 illuminate/database,所以Hyperf 下的跨庫事務操作也是是基於連接的。當你需要回滾不是在default連接上的表操作,使用Db::rollBack()是不生效的,需要指定連接。

示例代碼

<?php

use Hyperf\DbConnection\Db;

class test
{
    public function testFunc()
    {
        Db::beginTransaction();
        Db::connection('test')->beginTransaction();
        try {

            $data['name'] = '123';
            // 默認(default)數據庫鏈接表修改
            Db::table('default')->update($data);
            // test數據庫鏈接表修改
            Db::connection('test')->table('test')->update($data);

            Db::commit();
            Db::connection('test')->commit();
        } catch (\Throwable $ex) {
            Db::rollBack();
            Db::connection('test')->rollBack();
        }
    }
}

參考連接

laravel跨庫事務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章