Ouzo\Db::transactional PHP Method

transactional() public static method

All methods called on proxy are run in a transaction.
public static transactional ( mixed $object ) : TransactionalProxy
$object mixed
return Ouzo\Db\TransactionalProxy
    public static function transactional($object)
    {
        return TransactionalProxy::newInstance($object);
    }

Usage Example

 /**
  * @test
  */
 public function shouldRunFunctionInTransaction()
 {
     //given
     $test = $this;
     $transactionalFunction = Db::transactional(function ($param1, $param2) use($test) {
         $test->method();
         $test->assertEquals(1, $param1);
         $test->assertEquals(2, $param2);
     });
     //when
     $transactionalFunction(1, 2);
     //then
     $this->assertTrue($this->transactionStatus);
 }