国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

illuminate/database 事務(wù)不生效

714433615@qq.com

問題描述

事務(wù)不生效

程序代碼或配置

       try {
            Db::beginTransaction();
            //入庫
            $isUp = AppClienteleModel::whereId($id)->update($data);
            if (!$isUp) {
                throw new \Exception("檔案修改失??!");
            }
            //contact insert
            $contactTemp = [];
            $date = date('YmdHis');
            foreach ($checkRes['ids'] as $contact) {
                if ($contact=="buffer"){
                    throw new \Exception("test手動觸發(fā)回滾--!".$contact);
                }
                $contactTemp[] = [
                    'type'         => strpos($contact, '@') === false? 1 : 2,
                    'clientele_id' => $id,
                    'admin_id'     => $adminId,
                    'contact'      => $contact,
                    'created_at'   => $date,
                    'updated_at'   => $date,
                ];
            }
            if ($contactTemp) {
                $isInsert = AppClienteleContactModel::insert($contactTemp);
                if (!$isInsert) {
                    throw new \Exception("聯(lián)系方式入庫失??!");
                }
            }
            Db::commit();
        } catch (\Throwable $exception) {
            Db::rollBack();
            throw $exception;
        }

重現(xiàn)問題的步驟

這里寫步驟

$checkRes['ids'] 存入一個測試值buffer 手動觸發(fā)回滾結(jié)果并不會滾,修改內(nèi)容還是入庫了!

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

"illuminate/database": "^8.83",
Workerman version:4.1.13
PHP version:7.3.33
Event-Loop:\Workerman\Events\Select

976 2 0
2個回答

咸魚.php

INNODB?

walkor 打賞

如果你AppClienteleModel里指定了connection為xxx,開始事務(wù)的時候也要指定connection。
Db::connection(xxx)->beginTransaction();

  • 714433615@qq.com 2023-12-28

    我測試這個修改有效,感謝

  • bangbangda 2023-12-29

    真厲害,我比較好奇,是怎么發(fā)現(xiàn)它有單獨指定了連接。

年代過于久遠,無法發(fā)表回答
??