У меня есть эта часть кода:
$entityManager->clear('Reza\MyBundle\Entity\ListItem');
$identity = $entityManager->getUnitOfWork()->getIdentityMap();
foreach ($identity as $class => $objectlist) {
if ($class == 'Reza\MyBundle\Entity\ListItem') {
print "didn't fully clear, exiting..\n ";
exit;
}
}
Вы могли бы подумать, что после того, как я перейду в classname для очистки, вы больше не должны видеть эти объекты в единице работы, но, посмотрев на источник, я заметил, что когда вы передаете аргумент функции clear()
, это выделяет только объекты этого типа. С другой стороны, если я не передаю какие-либо аргументы в clear()
, он отделяется и на самом деле становится ясным, поэтому приведенный выше код не попадает в строку 138, exit. Таким образом, это означает, что он не только отделяет все объекты, но и очищает единицу работы.
У кого-нибудь есть мысли по этому поводу? Должен ли я записывать ошибку с учением?