1
0
mirror of synced 2025-01-29 19:41:45 +03:00

[DDC-1050] Change refresh of collection back

This commit is contained in:
Benjamin Eberlei 2011-03-06 21:49:02 +01:00
parent 851f44a066
commit 112f9d1480

View File

@ -1978,27 +1978,18 @@ class UnitOfWork implements PropertyChangedListener
->loadOneToOneEntity($assoc, $entity, null));
}
} else {
if (isset($hints[Query::HINT_REFRESH])) {
$pColl = $this->_class->reflFields[$field]->getValue($entity);
$pColl->setInitialized(false);
// no matter if dirty or non-dirty entities are already loaded, smoke them out!
// the beauty of it being, they are still in the identity map
$pColl->unwrap()->clear();
// Inject collection
$pColl = new PersistentCollection($this->em, $targetClass, new ArrayCollection);
$pColl->setOwner($entity, $assoc);
$reflField = $class->reflFields[$field];
$reflField->setValue($entity, $pColl);
if ($assoc['fetch'] == ClassMetadata::FETCH_EAGER) {
$this->loadCollection($pColl);
$pColl->takeSnapshot();
} else {
// Inject collection
$pColl = new PersistentCollection($this->em, $targetClass, new ArrayCollection);
$pColl->setOwner($entity, $assoc);
$reflField = $class->reflFields[$field];
$reflField->setValue($entity, $pColl);
if ($assoc['fetch'] == ClassMetadata::FETCH_EAGER) {
$this->loadCollection($pColl);
$pColl->takeSnapshot();
} else {
$pColl->setInitialized(false);
}
$pColl->setInitialized(false);
}
$this->originalEntityData[$oid][$field] = $pColl;
}