//開啟事務
DB::beginTransaction();
try {
//賬號密碼同步到後台登錄表
$user = new \App\Models\User;
$user->name = $data->head_name;//負責人姓名
$user->email = $data->head_email;//負責人郵箱
$user->save();
//提交事務
DB::commit();
} catch (\Exception $e){
//事務回滾
DB::rollback();
}
//開啟事務
DB::beginTransaction();
try {
//賬號密碼同步到後台登錄表
$user = new \App\Models\User;
$user_data = [
'name' => $data->head_name,//負責人姓名
'email' => $data->head_email,//負責人郵箱
'updated_at' => date("Y-m-d H:i:s"),
];
$user::where('businessid',$data->id)->update($user_data);
//提交事務
DB::commit();
} catch (\Exception $e){
//事務回滾
DB::rollback();
}
以上操作要手動開啟關閉事務
以下操作不用手動開啟關閉事務
你可以在 DB
facade 上使用 transaction
方法来运行数据库事务中的一组操作。如果在事务 Closure
中发生了异常,事务将自动回滚。而如果 Closure
成功执行,事务将自动被提交。也就是说,使用数据库事务,你就不需要在数据库语句执行发生异常时手动回滚或提交。
DB::transaction(function () use($id,$login_pass){
Business::ID($id)->update(['login_pass' => $login_pass]); });