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