事務(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;
}
這里寫步驟
$checkRes['ids'] 存入一個測試值buffer 手動觸發(fā)回滾結(jié)果并不會滾,修改內(nèi)容還是入庫了!
"illuminate/database": "^8.83",
Workerman version:4.1.13
PHP version:7.3.33
Event-Loop:\Workerman\Events\Select