1
0
mirror of synced 2025-02-20 14:13:15 +03:00

Micro optimization in computeChangeSet when using readOnly entities.

This commit is contained in:
Guilherme Blanco 2011-10-30 15:46:07 -02:00
parent 67497ed834
commit 3cfa479c01

View File

@ -471,19 +471,21 @@ class UnitOfWork implements PropertyChangedListener
*/
public function computeChangeSet(ClassMetadata $class, $entity)
{
if ( ! $class->isInheritanceTypeNone()) {
$class = $this->em->getClassMetadata(get_class($entity));
}
$oid = spl_object_hash($entity);
if (isset($this->readOnlyObjects[$oid])) {
return;
}
if ( ! $class->isInheritanceTypeNone()) {
$class = $this->em->getClassMetadata(get_class($entity));
}
$actualData = array();
foreach ($class->reflFields as $name => $refProp) {
$value = $refProp->getValue($entity);
if (isset($class->associationMappings[$name])
&& ($class->associationMappings[$name]['type'] & ClassMetadata::TO_MANY)
&& $value !== null