有没有办法确定一个参数是否是一个已经被 Doctrine 持久化的对象?类似于实体管理器方法的东西,它检查对象不是普通的旧对象,而是实际上已经在内存中/持久化的东西。
<?php
public function updateStatus(Entity $entity, EntityStatus $entityStatus)
{
$entityManager = $this->getEntityManager();
try {
// checking persisted entity
if (!$entityManager->isPersisted($entity)) {
throw new InvalidArgumentException('Entity is not persisted');
}
// ...
} catch (InvalidArgumentException $e) {
}
}