Php Laravel Eloquent(PDO):检查事务是否处于活动状态

Php Laravel Eloquent(PDO):检查事务是否处于活动状态,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我觉得这应该是一个简单的答案。然而,我在文件或其他任何地方都找不到直接的答案 在Laravel PHP框架中,我有一种类似于以下情况的情况,即打开数据库事务: (当然,我的例子与我正在处理的现实世界的东西相比被大大简化了,所以请不要用“你为什么这样做”之类的回答)。这是我感兴趣的原则 在代码的后面,我只想检查事务是否正在进行。我的条件语句的伪代码如下所示: if ( DB::connection('oracle')->transactionIsOngoing() ) {

我觉得这应该是一个简单的答案。然而,我在文件或其他任何地方都找不到直接的答案

在Laravel PHP框架中,我有一种类似于以下情况的情况,即打开数据库事务:

(当然,我的例子与我正在处理的现实世界的东西相比被大大简化了,所以请不要用“你为什么这样做”之类的回答)。这是我感兴趣的原则

在代码的后面,我只想检查事务是否正在进行。我的条件语句的伪代码如下所示:

    if ( DB::connection('oracle')->transactionIsOngoing() ) {

        // do some stuff with the on-going transaction
        DB::connection('oracle')->commit();

        // if I were to execute "DB::connection('oracle')->transactionIsOngoing()"
        // again here it would return FALSE, because the commit command has
        // completed the open transaction

    }

我应该使用什么实际代码来替换
DB::connection('oracle')->transactionSusting()

Lightning\Database\ConnectionInterface::transaction
具有一个
transactionLevel
属性,该属性返回活动事务的数量


可以在此处找到文档:

illumb\Database\ConnectionInterface::transaction
具有一个
transactionLevel
属性,该属性返回活动事务的数量,不确定这是否对您有用@乔,你说得对。答案真的很简单!把它作为一个答案。:-)添加了一个答案@cartbeforehorse,很高兴它有帮助!当然,这只是一个接口。如果要获取实际事务级别,应使用
illumb\Support\Facades\DB::transactionLevel()
    if ( DB::connection('oracle')->transactionIsOngoing() ) {

        // do some stuff with the on-going transaction
        DB::connection('oracle')->commit();

        // if I were to execute "DB::connection('oracle')->transactionIsOngoing()"
        // again here it would return FALSE, because the commit command has
        // completed the open transaction

    }