v4.0.2 - Show latest stable - 0 notes - Class: Core
sync_with_transaction_state() private

Updates the attributes on this particular ActiveRecord object so that if it is associated with a transaction, then the state of the AR object will be updated to reflect the current state of the transaction

The @transaction_state variable stores the states of the associated transaction. This relies on the fact that a transaction can only be in one rollback or commit (otherwise a list of states would be required) Each AR object inside of a transaction carries that transaction’s TransactionState.

This method checks to see if the ActiveRecord object’s state reflects the TransactionState, and rolls back or commits the ActiveRecord object as appropriate.

Since ActiveRecord objects can be inside multiple transactions, this method recursively goes through the parent of the TransactionState and checks if the ActiveRecord object reflects the state of the object.

Show source
Register or log in to add new notes.