Final work around entity changeset fix
This commit is contained in:
parent
b784a04cf7
commit
9b4c50e81e
@ -515,15 +515,16 @@ class UnitOfWork implements PropertyChangedListener
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getEntityChangeSet($entity)
|
||||
public function & getEntityChangeSet($entity)
|
||||
{
|
||||
$oid = spl_object_hash($entity);
|
||||
$data = array();
|
||||
|
||||
if (isset($this->entityChangeSets[$oid])) {
|
||||
return $this->entityChangeSets[$oid];
|
||||
if (!isset($this->entityChangeSets[$oid])) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
return array();
|
||||
return $this->entityChangeSets[$oid];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1048,9 +1049,7 @@ class UnitOfWork implements PropertyChangedListener
|
||||
}
|
||||
|
||||
if ($preUpdateInvoke != ListenersInvoker::INVOKE_NONE) {
|
||||
$changeset = $this->getEntityChangeSet($entity);
|
||||
|
||||
$this->listenersInvoker->invoke($class, Events::preUpdate, $entity, new PreUpdateEventArgs($entity, $this->em, $changeset), $preUpdateInvoke);
|
||||
$this->listenersInvoker->invoke($class, Events::preUpdate, $entity, new PreUpdateEventArgs($entity, $this->em, $this->getEntityChangeSet($entity)), $preUpdateInvoke);
|
||||
|
||||
$this->recomputeSingleEntityChangeSet($class, $entity);
|
||||
}
|
||||
|
@ -22,18 +22,25 @@ class UnitOfWorkMock extends \Doctrine\ORM\UnitOfWork
|
||||
*/
|
||||
public function getEntityPersister($entityName)
|
||||
{
|
||||
return isset($this->_persisterMock[$entityName]) ?
|
||||
$this->_persisterMock[$entityName] : parent::getEntityPersister($entityName);
|
||||
return isset($this->_persisterMock[$entityName])
|
||||
? $this->_persisterMock[$entityName]
|
||||
: parent::getEntityPersister($entityName);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getEntityChangeSet($entity)
|
||||
public function & getEntityChangeSet($entity)
|
||||
{
|
||||
$oid = spl_object_hash($entity);
|
||||
return isset($this->_mockDataChangeSets[$oid]) ?
|
||||
$this->_mockDataChangeSets[$oid] : parent::getEntityChangeSet($entity);
|
||||
|
||||
if (isset($this->_mockDataChangeSets[$oid])) {
|
||||
return $this->_mockDataChangeSets[$oid];
|
||||
}
|
||||
|
||||
$data = parent::getEntityChangeSet($entity);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/* MOCK API */
|
||||
|
Loading…
x
Reference in New Issue
Block a user