这么写事务可以吗,是否需要自定义异常?
DB::beginTransaction();
try{
// 删除角色信息
$adminRoleObj = new AdminRole;
$result = $adminRoleObj->deleteAdminRole($admin->id);
// 删除管理员信息
$result = $admin->delete();
DB::commit();
}catch(\Exception $e){
$result = false;
Log::error('admin:delete '.$e->getMessage());
DB::rollBack();
}
恭喜你,写法是正确的,不用怀疑。
你这种直接操作库的业务没有必要自定义异常,数据库执行错误或异常会自己抛异常的。