當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。