laravel db回滚是否仅适用于打开的事务?

laravel db回滚是否仅适用于打开的事务?,laravel,Laravel,我有一个关于DB::rollback()和DB::transactions方法的问题。因此,首先要了解我问题的背景,我有以下交易: $reponse = DB::transaction(function() use ($request) { try { ... ... ... if (sizeof($this->headersErrors) > 0) { throw new Except

我有一个关于
DB::rollback()
DB::transactions
方法的问题。因此,首先要了解我问题的背景,我有以下交易:

$reponse = DB::transaction(function() use ($request) {
    try {
        ...
        ...
        ...

        if (sizeof($this->headersErrors) > 0) {
            throw new Exception(json_encode($this->headersErrors));
        }

        $exploedZip = explode("/",$multimediaFilePath);
        $multimediaFolder = explode(".zip",$exploedZip[sizeof($exploedZip)-1]);


        $this->importContent($routesFilePath, "Routes","temp/multimedia/".$timeTrimed."/".$multimediaFolder[0]);
        //This is the part I'm asking about
        if (sizeof($this->contentErrors) > 0) {
            throw new Exception(json_encode($this->contentErrors));
        }

    } catch (Exception $e) {
        DB::rollback();
        return response()->json([
            "errors" => $e->getMessage()
        ]);
    }
});
return $reponse;
正如您所注意到的,我正在
try
bloc中做一些工作,当我捕获到异常时,我回滚事务。然而,我关心的是我是怎么做的

为简单起见,
importContent
方法做两件事,验证是否有错误,然后插入给定的数据。第一部分是困扰我的问题,如果验证失败,这意味着数据中存在错误,我不会插入任何内容(我使用的是一个循环,在发现错误后插入之前,
continue

因此,我这里的主要问题是,在验证失败且没有插入数据的情况下,
DB::rollback()
方法会做什么,因为一开始没有事务。它会什么都不做,还是会回滚另一个我没有做的事务?