Doctrine\OXM\UnitOfWork::persistNew PHP Метод

persistNew() приватный Метод

private persistNew ( ClassMetadata $class, $xmlEntity ) : void
$class Doctrine\OXM\Mapping\ClassMetadata
$xmlEntity
Результат void
    private function persistNew($class, $xmlEntity)
    {
        $oid = spl_object_hash($xmlEntity);
        if (isset($class->lifecycleCallbacks[Events::prePersist])) {
            $class->invokeLifecycleCallbacks(Events::prePersist, $xmlEntity);
        }
        if ($this->evm->hasListeners(Events::prePersist)) {
            $this->evm->dispatchEvent(Events::prePersist, new Event\LifecycleEventArgs($xmlEntity, $this->xem));
        }
        $idGen = $class->idGenerator;
        if (!$idGen->isPostInsertGenerator()) {
            $idValue = $idGen->generate($this->xem, $xmlEntity);
            if (!$idGen instanceof \Doctrine\OXM\Id\AssignedGenerator) {
                $this->entityIdentifiers[$oid] = array($class->identifier => $idValue);
                $class->setIdentifierValue($xmlEntity, $this->entityIdentifiers[$oid]);
            } else {
                $this->entityIdentifiers[$oid] = $idValue;
            }
        }
        $this->entityStates[$oid] = self::STATE_MANAGED;
        $this->scheduleForInsert($xmlEntity);
    }