Merge pull request #1574 from Ma27/patch-1
deduplication of internal UnitOfWork methods
This commit is contained in:
commit
bd94931201
@ -3259,41 +3259,35 @@ class UnitOfWork implements PropertyChangedListener
|
|||||||
*/
|
*/
|
||||||
private function afterTransactionComplete()
|
private function afterTransactionComplete()
|
||||||
{
|
{
|
||||||
if ( ! $this->hasCache) {
|
$this->performCallbackOnCachedPersister(function (CachedPersister $persister) {
|
||||||
return;
|
$persister->afterTransactionComplete();
|
||||||
}
|
});
|
||||||
|
|
||||||
foreach ($this->persisters as $persister) {
|
|
||||||
if ($persister instanceof CachedPersister) {
|
|
||||||
$persister->afterTransactionComplete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($this->collectionPersisters as $persister) {
|
|
||||||
if ($persister instanceof CachedPersister) {
|
|
||||||
$persister->afterTransactionComplete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform whatever processing is encapsulated here after completion of the rolled-back.
|
* Perform whatever processing is encapsulated here after completion of the rolled-back.
|
||||||
*/
|
*/
|
||||||
private function afterTransactionRolledBack()
|
private function afterTransactionRolledBack()
|
||||||
|
{
|
||||||
|
$this->performCallbackOnCachedPersister(function (CachedPersister $persister) {
|
||||||
|
$persister->afterTransactionRolledBack();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Performs an action after the transaction.
|
||||||
|
*
|
||||||
|
* @param callable $callback
|
||||||
|
*/
|
||||||
|
private function performCallbackOnCachedPersister(callable $callback)
|
||||||
{
|
{
|
||||||
if ( ! $this->hasCache) {
|
if ( ! $this->hasCache) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($this->persisters as $persister) {
|
foreach (array_merge($this->persisters, $this->collectionPersisters) as $persister) {
|
||||||
if ($persister instanceof CachedPersister) {
|
if ($persister instanceof CachedPersister) {
|
||||||
$persister->afterTransactionRolledBack();
|
$callback($persister);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($this->collectionPersisters as $persister) {
|
|
||||||
if ($persister instanceof CachedPersister) {
|
|
||||||
$persister->afterTransactionRolledBack();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user