当前位置: 首页>>代码示例>>PHP>>正文


PHP EntityManager::merge方法代码示例

本文整理汇总了PHP中Kdyby\Doctrine\EntityManager::merge方法的典型用法代码示例。如果您正苦于以下问题:PHP EntityManager::merge方法的具体用法?PHP EntityManager::merge怎么用?PHP EntityManager::merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Kdyby\Doctrine\EntityManager的用法示例。


在下文中一共展示了EntityManager::merge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: saveEntity

 /**
  * Save entity into DB
  *
  * @param BaseEntity $baseEntity
  * @return BaseEntity
  * @throws \Exception
  */
 protected function saveEntity(BaseEntity $baseEntity)
 {
     $isPersisted = UnitOfWork::STATE_MANAGED === $this->entityManager->getUnitOfWork()->getEntityState($baseEntity);
     if ($isPersisted) {
         $this->entityManager->merge($baseEntity);
     } else {
         $this->entityManager->persist($baseEntity);
     }
     $this->entityManager->flush();
     return $baseEntity;
 }
开发者ID:pecinaon,项目名称:sandbox,代码行数:18,代码来源:BaseFacade.php

示例2: doInsert

 private function doInsert($entity)
 {
     // get entity metadata
     $meta = $this->em->getClassMetadata(get_class($entity));
     // fields that have to be inserted
     $fields = $this->getUniqueAndRequiredFields($meta, $entity);
     // associations that have to be inserted
     $associations = $this->getUniqueAndRequiredAssociations($meta, $entity);
     // discriminator column
     $discriminator = $this->getDiscriminatorColumn($meta);
     // prepare statement && execute
     $this->prepareInsert($meta, array_merge($fields, $associations, $discriminator))->execute();
     // assign ID to entity
     if ($idGen = $meta->idGenerator) {
         if ($idGen->isPostInsertGenerator()) {
             $id = $idGen->generate($this->em, $entity);
             $identifierFields = $meta->getIdentifierFieldNames();
             $meta->setFieldValue($entity, reset($identifierFields), $id);
         }
     }
     // entity is now safely inserted to database, merge now
     $merged = $this->em->merge($entity);
     $this->em->flush(array($merged));
     // when you merge entity, you get a new reference
     return $merged;
 }
开发者ID:BianoCZ,项目名称:Doctrine,代码行数:26,代码来源:NonLockingUniqueInserter.php


注:本文中的Kdyby\Doctrine\EntityManager::merge方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。