Framework  3.9
DataTransaction Class Reference

The DataTransaction class wraps the underlying database's transaction model. More...

Public Member Functions

 DataTransaction ()
 Creates a new DataTransaciton. More...
 
 rollback ()
 Roll back any changes made during this transaction. More...
 
 commit ()
 Commit the changes made during this transaction. More...
 
 getConnection ()
 Return the database connection for this transaction. More...
 

Public Attributes

 $conn
 
 $tx
 

Detailed Description

The DataTransaction class wraps the underlying database's transaction model.

DataTransactions automatically start an isolated database transaction upon creation. The DataTransaction class can then be used with Query and DataItem objects. Each DataTransaction instance maintains its own dedicated connection to the database.

Author
andy

Definition at line 47 of file transaction.inc.

Member Function Documentation

◆ commit()

DataTransaction::commit ( )

Commit the changes made during this transaction.

Definition at line 81 of file transaction.inc.

82  {
83  if (!$this->conn)
84  {
85  throw new DataItemException("Attempt to commit a previously completed transaction");
86  }
87 
88  $this->conn->commit();
89  $this->conn = null;
90  }

◆ DataTransaction()

DataTransaction::DataTransaction ( )

Creates a new DataTransaciton.

Definition at line 55 of file transaction.inc.

56  {
57  $this->conn = ConnectionManager::newConnection();
58  if (!$this->conn->beginTransaction())
59  {
60  throw new DataItemException("Unable to initiate transaction");
61  }
62  }
static newConnection()
Returns a new connection to the database.

◆ getConnection()

DataTransaction::getConnection ( )

Return the database connection for this transaction.

Returns
PDO database connection

Definition at line 96 of file transaction.inc.

97  {
98  if (!$this->conn)
99  {
100  throw new DataItemException("Transaction has already been closed");
101  }
102 
103  return $this->conn;
104  }

◆ rollback()

DataTransaction::rollback ( )

Roll back any changes made during this transaction.

Definition at line 67 of file transaction.inc.

68  {
69  if (!$this->conn)
70  {
71  throw new DataItemException("Attempt to rollback a previously completed transaction");
72  }
73 
74  $this->conn->rollback();
75  $this->conn = null;
76  }

Member Data Documentation

◆ $conn

DataTransaction::$conn

Definition at line 49 of file transaction.inc.

◆ $tx

DataTransaction::$tx

Definition at line 50 of file transaction.inc.


The documentation for this class was generated from the following file: